循环方法 | 说明 |
---|---|
forEach | 不可终止循环 |
some | 返回true终止循环,不会对空数组进行检测 |
findIndex | 返回true可以终止循环,返回满足条件的索引 |
filter | 返回过滤后的数组 |
every | 返回一个Boolean类型的值,该值取决了数组中是否所有的元素满足给定的条件 |
- forEach
var list = [
{
id:1,
userName:'王小小',
age:24,
},
{
id:2,
userName:'李四',
age:14,
},
{
id:3,
userName:'张三',
age:33,
}
]
list.forEach((item,i)=>{
console.log('id:'+item.id+';'+'姓名:'+item.userName+';'+'年龄:'+item.age)
})
打印结果
id:1;姓名:王小小;年龄:24
id:2;姓名:李四;年龄:14
id:3;姓名:张三;年龄:33
- some
some()方法会返回一个Boolean类型的值,该值取决了数组中是否有元素满足给定的条件
some()为数组中的每一个元素执行一次回调函数,直到找到一个使得回调函数返回一个“真值”(即可转换为布尔值 true 的值),如果找到了这样一个值,some() 将会立即返回 true;否则,some() 返回 false
var list = [
{
id:1,
userName:'王小小',
age:24,
},
{
id:2,
userName:'李四',
age:14,
},
{
id:3,
userName:'张三',
age:33,
}
]
list.some((item,i)=>{
if(item.id ===2) {
console.log('id:'+item.id+';'+'姓名:'+item.userName+';'+'年龄:'+item.age)
//返回true 终止循环
return true
}
})
打印结果
id:2;姓名:李四;年龄:14
true
- findIndex
var list = [
{
id:1,
userName:'王小小',
age:24,
},
{
id:2,
userName:'李四',
age:14,
},
{
id:3,
userName:'张三',
age:33,
}
]
var index=list.findIndex(item=>{
if(item.id ===2) {
return true
}
})
console.log(index)
打印结果
1
- filter
filter()方法会返回一个新数组,该新数组的元素是符合回调函数中筛选条件的结果
var list = [
{
id:1,
userName:'王小小',
age:24,
},
{
id:2,
userName:'李四',
age:14,
},
{
id:3,
userName:'张三',
age:33,
}
]
var arr=list.filter(item=>{
return item.age>18
})
console.log(arr)
打印结果
[{id:1,userName:'王小小',age:24,},{id:3,userName:'张三',age:33,}]
- every
如果数组中检测到有一个元素不满足,则整个表达式返回false,且剩余的元素不会再进行检测。如果所有元素都满足条件,则返回true;
var list = [
{
id:1,
userName:'王小小',
age:24,
},
{
id:2,
userName:'李四',
age:14,
},
{
id:3,
userName:'张三',
age:33,
}
]
let result=list.every(function(item){
return item.age>18;
})
console.log(result)
打印结果
false