Slice(strart,end)用来从数组中提取元素.该方法不会改变元素数组,而是将截取到的元素封装到一个新数组中返回
参数start 截取开始的位置索引,包含开始索引
参数end 截取结束位置的索引,不包括结束索引,第二参数可以省略,截取从start索引往后的所有元素
索引可以传负值,从后往前计算-1为倒数第一个,-2为倒数第二个
Splice方法 删除原数组中指定元素,会影响原数组,将被删除的元素作为返回值返回
splice(start, deleteCount, [item1[, item2[, . . . [,itemN]]]])
start 必选项。指定从数组中移除元素的开始位置,这个位置是从 0 开始计算的。
deleteCount 必选项。要移除的元素的个数。
item1, item2,. . .,itemN 必选项。要在所移除元素的位置上插入的新元素。
利用splice去重练习
var arr = [1,3,5,2,4,2,3,5,5,5,5,2] for (var i = 0; i<arr.length;i++) { for (var j = i+1; j<arr.length;j++) { if (arr[i]==arr[j]) { arr.splice(j,1) j--
/*
j--不写输出结果为[1, 3, 5, 2, 4, 5],因为splice会影响当前数组元素,当相邻2个以上的重复元素比较时,会把第二个删除,而此时第三个重复元素的位置就变成了第二,
但是第二个已经比对过了,所以会直接往下走,造成重复数据未能完全清除
*/
} } } console.log(arr)
原文:https://www.cnblogs.com/Young-shi/p/10453603.html