JavaScript数组(必会的)常用方法

122 阅读2分钟
  • 遍历方法

    • map : 映射数组,得到一个映射之后的新数组
    • filter:筛选数组
    • forEach:遍历数组
    • some:判断数组是否有元素满足条件(相当于逻辑或:一真则真,全假为假)
    • every:判断数组是否所有满足都满足条件(相当于逻辑与:一假则假,全真为真)
    • reduce:给数组每一个元素执行一次回调,一般用于数组元素求和(也可以求最大值、最小值)
  • 增删改查方法

    • push() : 末尾新增元素,返回值是新数组长度
    • unshift():开头新增元素,返回值是新数组长度
    • pop() :末尾删除元素,返回值是删除的那个末尾元素
    • shift(): 开头删除元素,返回值是开头的那个末尾元素
    • splice() : 删除指定下标元素,第三个参数是一个剩余参数,可以在删除的元素后面插入元素
    • slice: 根据下标范围查询数组元素,返回值是查询后的新数组
    • indexOf: 查询元素下标,一般用于元素是值类型
    • findIndex:查找元素下标,一般用于元素是引用类型
    • concat():方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。
    • find():返回第一个匹配的元素
  • 其他方法

    • reverse:翻转数组,会修改数组自身
    • sort: 数组排序,会修改数组自身
    • json: 拼接数组元素,返回值是拼接之后的字符串

indexOf()

 let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]
        numbers.indexOf(4) // 3

includes()

 let numbers = [1, 2, 3, 4, 5, 4, 3, 2, 1]
        numbers.includes(4) // true
    </script>

find()返回第一个匹配的元素

   const people = [
            {
                name: 'Matt',
                age: 27,
            },
            {
                name: 'Nicholas',
                age: 29,
            },
        ]
        people.find((element, index, array) => element.age < 28) // // {name: "Matt", age: 27}

reverse()顾名思义,将数组元素方向反转

  let values = [1, 2, 3, 4, 5]
        values.reverse()
        alert(values) // 5,4,3,2,1

sort()方法接受一个比较函数,用于判断哪个值应该排在前面

 function compare(value1, value2) {
            if (value1 < value2) {
                return -1
            } else if (value1 > value2) {
                return 1
            } else {
                return 0
            }
        }
        let values = [0, 1, 5, 10, 15]
        values.sort(compare)
        alert(values) // 0,1,5,10,15