拼接和截取:concat
拼接:
var newArr=arr.concat(值1,值2,值3,值4,.....);
将值1值2,以及arr2中每个元素一次拼接到arr1结尾,返回新数组
强调:
1.concat无权修改元素组,只能返回新数组所以,必须用变量接住拼接的返回值
2.concat可打散数组类型的参数为单个元素 截取:(复制)
var subArr=arr.slice(starti,endi+1);
复制arr中starti位置开始到endi结束的元素组成子数组返回
强调:
1.无权修改原数组,只返回新子数组
2.含头不含尾
简写:
1.省略第二个参数,表示一直截取到结尾
2.省略单个参数 删除数组中指定位置的元素
arr.splice(starti,n):
删除arr中starti位置开始的n个元素
其实:var deletes=arr.splice(starti,n)
deletes:返回的被删除的元素组成的临时子数组。 插入
在数组指定位置插入新元素
arr.splice(starti,0,值1,值2......);
在starti位置的插入新值
原stati位置的值被向后顺移
强调:splice,不支持打散数组参数
插入:splice vs concat
concat只能在开头或结尾拼接,不能中间插入.但可打散数组类型参数
splice可在任意位置插入新值,但不可打散数组类型值
替换数组中指定位置的元素
arr.splice(starti,n,值1,值2.......)
先生出starti位置的n个旧元素
再在starti位置插入新值
强调:删除的个数额插入的个数不必一致
splice可自动调节数组的长度和位置 翻转arr.reverse();
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
截取
<script>
var arr1=[1,2,3];
var newArr=arr1.concat(12,23,[123,234]);
//[1,2,3,12,23,[123,234]]
// 0 1 2 3 4 5 6
console.dir(newArr); var subArr=newArr.slice(3,5+1);
console.log(String(subArr));
</script>
删除
<script>
var arr=[1,2,3,4,5];
// 0 1 2 3 4
//删除开头的2个元素
//再拼接到arr结尾
arr=arr.concat(arr.splice(0,2));
console.log(String(arr));
//删除结尾2个元素,再拼接到arr开头
arr=arr.splice(arr.length-2,2).concat(arr);
console.log(String(arr));
</script>
插入
<script> </script>
</body>
</html>