乐趣区

JavaScript-非常好用的但不常用的数组方法总结

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

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。
退出移动版