一、includes
判断数组是否包含某个元素,不用return,不用回调函数,返回布尔值
// 例
let site = ['baidu', 'google', 'taobao'];
site.includes('baidu'); //true
site.includes('sogou'); //false
二、filter
使用return操作输出,会循环数组每一项,并在回调函数中操作
返回满足条件的元素组成的数组,不改变原数组
// 例:根据条件过滤想要的数据
var ages = [32, 33, 12, 40];
result = ages.filter(function(age){
return age >= 18;
});
console.log(result); //输出结果 [32, 33, 40]
三、map
输出的是return什么就输出什么新数组
原数组被“映射”成对应新数组,返回新数组,不改变原数组
// 例
var obj = [
{name:'富兰克林',age:25},
{name:'麦克',age:48},
{name:'崔佛',age:48},
]
function getter(obj){
obj.map( item => {
console.log(item.age);
})
}
getter(obj);
// 25
// 48
// 48
四、find
用来查找目标元素,找到就返回该元素,找不到返回undefined
输出的是一旦判断为true则跳出循环输出符合条件的数组元素
// 例
const myArr=[1,2,3,4,5,6,7,8,9];
var v1=myArr.find(value=>value>5);
console.log(v1); // 6
var v2=myArr.find(value=>value>10);
console.log(v2); // undefined
五、findIndex
数组实例的findIndex方法的用法与find方法非常类似,返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1
// 例
const myArr=[
{
id:1,
Name:"克劳德"
},
{
id:2,
Name:"汤米"
},
{
id:3,
Name:"卡尔"
},
{
id:4,
Name:"维克托"
}
];
var i1=myArr.findIndex((value)=>value.id==3);
console.log(i1); // 2
var i2=myArr.findIndex((value)=>value.id==5);
console.log(i2); // -1
六、some
some()是对数组中每一项运行给定函数,如果该函数对任一项返回true,则返回true
some一直在找符合条件的值,一旦找到,则不会继续迭代下去
返回布尔值,遇到满足条件变跳出循环
// 例
var list = [
{ id: 1, name: '德罗索' },
{ id: 2, name: '骷髅马' }
];
var del = (id,list) => {
list.some((item, i) => {
if (item.id == id) {
this.list.splice(i, 1);
}
});
};
//删除数组中ID的数
del(1, list);
console.log(list); // [{ id: 2, name: '骷髅马' }]
七、every
every()是对数组中每一项运行给定函数,如果该函数对每一项返回true,则返回true
every从迭代开始,一旦有一个不符合条件,则不会继续迭代下去。 every() 不会对空数组进行检测
返回布尔值,遇到不满足条件跳出循环
let arr=[1,2,3];
let bool1 = arr.every(item =>
console.log('item',item);
return item > 10;
)
let bool2 = arr.every(item =>
console.log('item',item);
return item < 10;
)
console.log('bool1',bool1);
// item 1
// bool1 false
console.log('bool2',bool2);
// item 1
// item 2
// item 3
// bool2 true