数组的相关操作
arr = [10,20,30,40,50,60]
一、arr.push(e1,e2,e3...)
往数组后面追加一个甚至多个元素
二、arr.unshift(e1,e2,e3...)
往数组头部添加一个甚至多个元素
三、arr.pop()
删除数组最后的一个元素
四、arr.shift()
删除数组头部的第一个元素
五、arr.splice(开始下标,删除个数,添加的元素e1,e2,e3)
(1)splice()方法会改变数组
(2)arr.splice(1) 从下标为1的元素开始,删除后面的元素
console.log(arr) //arr = [10]
(3)arr.splice(1,1) 从下标为1的元素开始,删除后面的一个元素
console.log(arr) //arr = [10,30,40,50,60]
(4)arr.splice(1,1,55) 从下标为1的元素开始,删除后面的一个元素,并在此位置添加一个为55的元素
console.log(arr) //arr = [10,55,30,40,50,60]
(5)arr.splice(1,0,55) 从下标为1的元素开始,在此位置添加一个为11的元素
console.log(arr) //arr = [10,11,20,30,40,50,60]
六、arr.filter()数组过滤,该方法返回一个新的数组
const arr2 = arr.filter(item => item>50) //arr = [55,60]
七、数组塌陷的相关问题
let arr = ['张三', '王五', '张三', '张三', '张三', '张三', '李四', '张三', '红英'];
let target = '张三';
方法一:
for (let i = 0; i < arr.length; i++) {
if (arr[i] == target) {
arr.splice(i, 1);
i--;
}
console.log(arr); //arr = ['王五','李四','红英']
方法二:倒序遍历
for (let i = arr.length - 1; i >= 0; i--) {
if (arr[i] == target) {
arr.splice(i, 1)
}
}
console.log(arr); //arr = ['王五','李四','红英']