不改变原数组,不创建新数组:some,every,find
不改变原数组,创建新数组:map,filter,reduce
遍历:forEach
some:
若目标数组中有一个或一个以上的对象符合条件的返回true,否则返回false
var computers = [{
name: "Apple",
ram: 8
},
{
name: "IBM",
ram: 4
},
{
name: "Acer",
ram: 32
},
];
var some = computers.some(function(computer) {
return computer.ram > 16;
});
console.log(some); //true
console.log(computers); //[{ name: "Apple", ram: 8 },{ name: "IBM", ram: 4 },{ name: "Acer", ram: 32 }]
every:
若目标数组中每一个对象都符合条件则返回true,否则返回false
var computers = [{
name: "Apple",
ram: 8
},
{
name: "IBM",
ram: 4
},
{
name: "Acer",
ram: 32
},
];
var every = computers.every(function(computer) {
return computer.ram > 16;
});
console.log(every); //false
find:
在数组中找到符合要求的对象 和filter的区别就是找到符合要求的对象就停止寻找了,返回的是一个对象,而filter返回的是所有符合要求的对象组成的新数组
//假定有一个对象数组,找到符合条件的对象
var users = [{
name: 'Jill'
},
{
name: 'Alex',
id: 1
},
{
name: 'Bill'
},
{