1.修改原数组 

//1. pop(): 弹出数组中最后一个元素,并返回这个元素
        let arr = [1,2,3,4,5]
        let newArr = arr.pop()
        console.log(arr) // [1, 2, 3, 4]
        console.log(newArr) //  5

//2. push(): 添加一个或多个元素到数组末尾,并返回新的长度
        let arr = [1,2,3,4,5]
        arr.push(6,7)
        console.log(arr) // [1, 2, 3, 4, 5, 6, 7,]
        console.log(arr.length) // 7

//3. shift():弹出数组的第一个元素,并返回这个元素
        let arr = [1,2,3,4,5]
        let newArr = arr.shift()
        console.log(arr) // [2, 3, 4, 5]
        console.log(newArr) // 1

//4. unshift():在数组开头添加一个或多个元素,并返回新的长度
        let arr = [1,2,3,4,5] 
        arr.unshift(-1,0)
        console.log(arr) // [-1, 0, 1, 2, 3, 4, 5]
        console.log(arr.length) // 7

//5. splice(x,n,s): 从x位置开始截取,截取n个并返回被截取的元素,第三个参数是截取完了需要添加哪些元素,从x的位置开始添加
        let arr = [1,2,3,4,5] 
        let newArr = arr.splice(1,3,'two','three','four')
        console.log(arr) // [1, 'two', 'three', 'four', 5]
        console.log(newArr) // [2, 3, 4]
        document.write('<h1>'+ newArr + '</h1>');

//6. reverse(): 逆转数组的顺序
        let arr = [1,2,3,4,5] 
        let newArr = arr.reverse()
        console.log(arr) // [5, 4, 3, 2, 1]
        console.log(newArr) // [5, 4, 3, 2, 1]

//7. sort(): 给数组排序(默认从小到大)
        let arr =  [5, 2, 3, 4, 1]
        arr.sort()
        console.log(arr) // [1,2,3,4,5] 

2.返回新数组,不会改变原数组

//1. concat() : 把传入的数组,或者元素+数组合并成一个新的数组,返回这个新数组
    let arr1 = [1,2,3]
    let arr2 = [4,5,6] 
    let newArr = arr1.concat(arr2)
    console.log(newArr) // [1, 2, 3, 4, 5, 6]

//2. slice() : 截取数组,不会改变原数组
    let arr = [1,2,3,4,5]
    let newArr = arr.slice(0,3)
    console.log(newArr) // [1, 2, 3]
    // 如果不给第二个参数,那么就从第1个参数的位置截取到数组的最后

//3. join() : 把数组中的元素连接成一个字符串并返回,不会改变原数组
    let arr = [1,2,3,4,5]
    let Str1 = arr.join('')
    console.log(arr) // [1, 2, 3, 4, 5]
    console.log(Str1) // '12345'
    let Str2 = arr.join(',')
    console.log(Str2) // '1,2,3,4,5'

//4.indexOf():查找元素在数组中第一次出现时的索引,如果没有就返回-1
    let arr = [1,2,3,4,5,4,3,2,1]
    let num = arr.indexOf(3)
    console.log(num) // 2

//5. lastIndexOf(): 查找元素在数组中最后一次出现时的索引,如果没有就返回-1
    let arr = [1,2,3,4,5,4,3,2,1]
    let num = arr.lastIndexOf(3)
    console.log(num) // 6

3.遍历数组

//1. forEarm() : 传入一个函数,把数组的每一项作为函数的参数被调用,不改变原数组
    let arr = [1, 2, 3, 4, 5];
    arr.forEach((item) => {
        console.log(item) // 依次输出 1 ~ 5
    });

//2. map() : 传入一个函数,把数组的每一项作为函数的参数被调用,然后用函数每次的返回值组成新的数组并返回,不改变原数组
    let arr = [1, 2, 3, 4, 5];
    let newArr = arr.map((item) => item*item); 
    console.log(arr) // [1, 2, 3, 4, 5]
    console.log(newArr) // [1, 4, 9, 16, 25]

//3. filter(): 传入一个函数,把数组的每一项作为函数的参数被调用,在函数内部判断符合条件的每一项,把它们组成新的数组并返回,不改变原数组
    let arr = [1, 2, 3, 4, 5];
    let newArr = arr.filter((item) => item%2 === 0); // 取数组中的偶数
    console.log(arr) // [1, 2, 3, 4, 5]
    console.log(newArr) // [2, 4]

//4. reduce() : 接受两个参数,函数和初始值,其中函数接受两个参数,那个初始值和数组的每一项,每次用初始值对数组的每一项进行操作并返回这个新的初始值(函数返回),不改变原数组
    let arr = [1, 2, 3, 4, 5];
    let num = arr.reduce((sum, item) => sum = sum + item,0);
    console.log(num) // 15
    console.log(arr) // [1, 2, 3, 4, 5]
    //初始值设为0, sum是初始值,每次执行sum += item,最后返回最终结果num = 15 

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐