js数组方法大全

143 阅读3分钟

1. push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。末尾添加,返回的是长度,会改变原数组。

        let data = ["aa", "bb", "cc", "dd"]
        let temp = data.push("ee")
        console.log("data", data)// ["aa", "bb", "cc", "dd","ee"]
        console.log("temp", temp)// 5
        

2.unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。返回新长度,改变原数组。

        let data = [ "bb", "cc", "dd"]
        let temp = data.unshift("aa")
        console.log("data", data)// ["aa", "bb", "cc", "dd"]
        console.log("temp", temp)// 4
        

3.pop() 方法用于删除并返回数组的最后一个元素。返回最后一个元素,会改变原数组。

        let data = [ "aa","bb", "cc", "dd"]
        let temp = data.pop()
        console.log("data", data)// ["aa", "bb", "cc"]
        console.log("temp", temp)// "dd"
        

4.shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。返回第一个元素,改变原数组。

        let data = [ "aa","bb", "cc", "dd"]
        let temp = data.shift()
        console.log("data", data)// ["bb", "cc","dd"]
        console.log("temp", temp)// "aa"

5.slice()返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。返回选定的元素,该方法不会修改原数组。

        let data = [ "aa","bb", "cc", "dd"]
        let temp = data.slice(1,3)
        console.log("data", data)// ["aa","bb", "cc", "dd"]
        console.log("temp", temp)// ["bb", "cc"]
        
        

6. splice() 方法可删除从 index 处开始的零个或多个元素,并且用参数列表中声明的一个或多个值来替换那些被删除的元素。如果从 arrayObject 中删除了元素,则返回的是含有被删除的元素的数组。splice() 方法会直接对数组进行修改。

        //数组中添加新元素:
        var fruits = ["Banana", "Orange", "Apple", "Mango"]
        fruits.splice(2, 0, "Lemon", "Kiwi")
        console.log("fruits", fruits) //['Banana', 'Orange', 'Lemon', 'Kiwi', 'Apple', 'Mango']
        //如果删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。

        var fruits2 = ["Banana", "Orange", "Apple", "Mango"]
        fruits2.splice(2, 1)
        console.log("fruits2", fruits2) //["Banana", "Orange", "Mango"]
        

7.concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,仅会返回被连接数组的一个副本。

        let arr = [1, 2, 3]
        let arr2 = [4, 5, 6]
        let newArr = arr.concat(arr2)
        console.log("newArr", newArr)//[1, 2, 3, 4, 5, 6]
        

8.sort按照 Unicode code 位置排序,默认升序。

        let arr = [1, 2, 3, 6, 5, 4]
        let newArr = arr.sort()
        console.log("newArr", newArr) //[1, 2, 3, 4, 5, 6]
        

9.reverse()方法用于颠倒数组中元素的顺序。返回的是颠倒后的数组,会改变原数组。

        let arr = [1, 2, 3, 6, 5, 4]
        let newArr = arr.reverse()
        console.log("newArr", newArr) //[6, 5, 4, 3, 2, 1]

10.every()对数组的每一项都运行给定的函数,每一项都返回 ture,则返回 true。

        //检测数组ages的所有元素是否都大于等于 18 :

        var ages = [32, 33, 16, 40]
        var ages2 = [32, 33, 19, 40]

        function checkAdult(age) {
            return age >= 18
        }
        function myFunction() {
            let result = ages.every(checkAdult)
            console.log('result',result);//false
            return result;
        }
        function myFunction2() {
            let result2 = ages2.every(checkAdult)
            console.log('result2',result2);//true
            return result2;
        }
        myFunction()
        myFunction2()     
        

11. some()对数组的每一项都运行给定的函数,有一项返回 ture,则返回 true。

        //检测数组中是否有元素大于 18:

        var ages = [3, 10, 18, 20]

        function checkAdult(age) {
            return age >= 18
        }

        function myFunction() {
            let result= ages.some(checkAdult)
            console.log('result',result);//true
            return result;
        }
        myFunction()

12. filter()对数组的每一项都运行给定的函数,有一项返回 ture,则返回 true。

        //返回数组ages中所有元素都大于 18 的元素:

        var ages = [3, 10, 18, 20]

        function checkAdult(age) {
            return age >= 18
        }

        function myFunction() {
            let result= ages.filter(checkAdult);
            console.log('result',result);//[18,20]
            return result;
        }
        myFunction()

12. forEach 对数组的每个元素执行一次提供的函数。

       var arr = [1, 2, 3, 4]
       var sum = 0
        arr.forEach(function (value, index, array) {
            array[index] == value 

            sum += value
        })

        console.log(sum) //结果为 10

13. map()数组中的元素为原始数组调用函数处理后的值。

       //返回一个数组,数组中元素为原始数组2倍
        var arr = [1, 2, 3, 4]

        let newArr = arr.map((item) => {
            return item * 2
        })
        console.log("newArr", newArr)