Array数组的相关操作

148 阅读1分钟

数组的相关操作

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 = ['王五''李四','红英']