谈谈JavaScript中简单粗暴的10个数组方法

503 阅读4分钟

这是我参与8月更文挑战的第20天,活动详情查看:8月更文挑战

前言

在JavaScript中,对象毫无疑问是被应用最多的,数组作为对象的一种,在实际开发中每时每刻都会用到,今天我们就来简单谈一谈简单粗暴的10个数组方法,主要涉及到数组的增删改查以及一些复杂的操作,深入的了解有助于我们提高自身的开发水平和开发效率。

1、处理数组 map()

map()方法返回一个新数组,不会改变原数组。新数组的每一项值为原数组处理之后的元素,元素的顺序与原数组相同。

需要注意的是: map() 不会对空数组进行处理操作。

let arr = [1, 2, 3, 4, 5]
ler newArr = arr.map(x => x * x)
console.log(newArr)   

// [1, 4, 9, 16, 25]

2、遍历数组 forEach()

forEach()方法对数组进行遍历,类似于for循环,它不返回任何数据,也不改变原数组,用于调用数组的每个元素,元素会被回调函数处理。

需要注意的是: forEach() 不会对空数组进行处理操作。

let arr = [1, 2, 3, 4, 5]
arr.forEach(e => console.log(e))

// 1
// 2
// 3
// 4
// 5

3、过滤数组 filter()

filter()返回一个新数组,不改变原数组。新数组的每一项值为过滤成功之后的元素,元素的顺序与原数组相同。

需要注意的是: forEach() 对空数组处理操作返回永远是空数组。

let arr = [1, 2, 3, 4, 5]
let newArr = arr.filter(e => e>2)
console.log(newArr)

// [3, 4, 5]

4、判断是否有元素符合条件 some()

some()方法返回布尔值,不改变原数组。只要数组中有一项符合指定条件,即返回true,若数组元素都不符合指定条件,则返回false。

let arr = [1, 2, 3, 4, 5]
let a = arr.some(e => e>2)
let b = arr.some(e => e>5)
console.log(a)    // true
console.log(b)    // false

5、判断所有元素是否都符合条件 every()

every()方法返回布尔值,不改变原数组。只要数组中有一项不符合指定条件,即返回false,若数组元素都符合指定条件,则返回true。

let arr = [1, 2, 3, 4, 5]
let a = arr.every(e => e>2)
let b = arr.every(e => e>0)
console.log(a)    // false
console.log(b)    // true

6、合并数组 concat()

concat()方法返回一个新数组,且不改变原始数组。主要用于合并两个数组,返回合并拼接之后的数组。

let arr1 = [1, 2, 3]
let arr2 = [3, 4, 5]
let arr = arr1.concat(arr2)
console.log(arr)    

// [1, 2, 3, 3, 4, 5]

7、 查找数组 find()

find() 方法返回符合条件的第一个元素,且不改变原数组。当有元素符合查找条件时,不再执行查找的操作,即之后的值不会再调用函数。如果查找结束,依旧没有符合条件的元素,则返回 undefined。 需要注意的是: find() 不会对空数组进行处理操作。

let arr = [1, 2, 3, 4, 5]
let a = arr.find(e => e>2)
let b = arr.find(e => e>5)

console.log(a)    // 3
console.log(b)    // undefined

8、查找元素位置 findIndex()

findIndex() 方法返回符合条件的第一个元素的位置,且不改变原数组。当有元素符合查找条件时,不再执行查找的操作,即之后的值不会再调用函数。如果查找结束,依旧没有符合条件的元素,则返回 -1。 需要注意的是: findIndex() 不会对空数组进行处理操作。

let arr = [1, 2, 3, 4, 5]
let a = arr.findIndex(e => e>2)
let b = arr.findIndex(e => e>5)

console.log(a)    // 2
console.log(b)    // -1

9、替换元素 fill()

fill()方法返回替换指定位置区间元素后的数组,且会改变原数组。主要作用是替换数组中的元素,它的 回调函数接受三个参数,第一个参数是替换后的值,第二个参数是替换位置的起始位置(默认为0),第三个参数是替换位置的结束位置(默认为array.length)。

let arr = [1, 2, 3, 4, 5]
let newArr = arr.fill(99, 0, 3)

console.log(arr)    // [99, 99, 99, 4, 5]
console.log(newArr)    // [99, 99, 99, 4, 5]

10、展开数组 flat()

flat()方法返回一个新数组,且不改变原数组。主要作用是展开数组,将其返回至新数组中,但是只能进行一层深度的展开。

let arr = [1, [2,3], [4,[5,6]]]
let newArr = arr.flat()

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

后记

你好哇,我是南极大冰块,一个技术与颜值成正比的前端工程师,崇尚一针见血的搞定前端问题,希望我的博客有帮助到了你。

关注我,前端路途一起走。嘿哈~😛