2

项目中经常需要处理一些数组,经常会自己维护一些方法,
今天总结了一下非常好用的但不常用的数组方法,希望以后能多用一下这些方法

MDN链接:
https://developer.mozilla.org/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/Array

1、every和some

Array.prototype.every()

Array.prototype.some()

every()是对数组中每一项运行给定函数,
如果该函数对每一项返回true,则返回true。

some()是对数组中每一项运行给定函数,
如果该函数对任一项返回true,则返回true。

const tempData = [
  {
    id: 1,
    name: "rocker",
    adress: "US"
  },
  {
    id: 2,
    name: "rocker",
    adress: "US"
  },
  {
    id: 3,
    name: "rocker",
    adress: "US"
  }
];
let everyReturn = tempData.every((item, index) => {
  return item.id > 1;
});
let someReturn = tempData.some((item, index) => {
  return item.id > 2;
});

console.log(everyReturn);
//有一个是错的就返回 false 且的关系

console.log(someReturn);
//有一个是对的就返回 true 或的关系

2、find 和 findIndex

const array = [5,10,89,33,55]
const found = array.find(item => item > 10)

console.log(found) //89
//返回数组中第一个大于10 的值

findIndex方法则是返回第一个大于10 的值的下标

3、forEach方法跳出循环

Array.forEach(item => {
    if(true){
        throw new error()
    }
)

另外every和some都可以用return来跳出循环

4、Array.prototype.flat()

var newArray = arr.flat([depth])

//depth代表指定要提取嵌套数组的结构深度,默认值为 1。

weborockfeller
60 声望0 粉丝

前端工程师