项目中经常需要处理一些数组,经常会自己维护一些方法,
今天总结了一下非常好用的但不常用的数组方法,希望以后能多用一下这些方法
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。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。