js-array


js中数组的一些方法(find、filter、some、every、map)总结

1. find

find方法,返回值类型为Array,顾名思义就是在数组中找元素,find方法将返回数组中第一个满足筛选条件的元素,如果没有找到则返回undefined

例子:

const array = [1, 3, 5, 7, 9]

const res1 = array.find(item =>item > 6)

const res2 = array.find(item =>item > 10)

console.log(res1)    //结果: 7

console.log(res2)    //结果: undefined

2. filter

filter方法,返回值类型为Array,找到所有满足筛选条件的元素并返回一个新数组,如果没有找到则返回空数组 []

例子:

const array = [1, 3, 5, 7, 9]

const res1 = array.filter(item =>item > 6)

const res2 = array.filter(item =>item > 10)

console.log(res1)    // 结果: [7]

console.log(res2)    // 结果: []

3. some

some方法,返回值类型为boolean,数组中只要有一个元素满足条件就返回true,所有元素都不满足则返回false

例子:

const array = [1, 3, 5, 7, 9]

const res1 = array.some(item =>item === 1)
const res2 = array.some(item =>item === 2)

console.log(res1)    // 结果:true

console.log(res2)    // 结果:false

4. every

every方法,返回值类型为boolean,数组中所有元素都满足条件就返回true,只要有一个元素不满足则返回false

例子:

const array = [1, 3, 5, 7, 9]

const res1 = array.every(item =>item > 0)
const res2 = array.every(item =>item > 2)

console.log(res1)    // 结果:true

console.log(res2)    // 结果:false

5.map

map方法,返回值类型为Array,将数组中每一个元素处理后返回一个新的数组

例子:

const array = [1, 3, 5, 7, 9]

const res = array.map(item => {
  return item + 1
})

// 返回一个新的数组,每个数组元素都加1,返回值为[2, 4, 6, 8, 10]
console.log(res)

6.其他用法

1. 通过id数组找到对象数组中所对应的元素

应用场景:通过一个id的数组找到该id数组中所对应的对象元素,找到所对应的对象数组可以用来获取一些其他的数据

const arr=[3,6]
const objArr = [
        {
          id: 1,
          value: 'a'
        },
        {
          id: 3,
          value: 'b'
        },
        {
          id: 5,
          value: 'c'
        },
        {
          id: 6,
          value: 'd'
        }
      ]
const newArr=arr.map(item =>objArr.find(i => i.id === item)).map(a=>a.value)
console.log(newArr)//结果:['b','d']

2. 删除数组中的某个元素

let arr=[1,3,4]
arr=arr.filter(i=>i!==3)

console.log(arr)//结果:[1,4]

。。。其他的暂时没想到,以后遇到补充


文章作者: 雪碧爱可乐
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 雪碧爱可乐 !