var animales = [
{name : 'fluffykins', species : 'rabbit'},
{name : 'caro', species : 'dog'},
{name : 'hamilton', species : 'dog'},
{name : 'harold', species : 'fish'},
{name : 'ursula', species : 'cat'},
{name : 'jimmy', species : 'fish'}
]
// 需求:找出species是dog的元素
// 一悠垛、以下是for循環(huán)寫法
// var dogs =[];
// for(var i=0; i< animales.length; i++){
// if(animales[i].species === 'dog'){
// dogs.push(animales[i])
// dogs.push(animales[i].name + ':' + animales[i].species)
// }
// }
// 二粥烁、以下是filter的寫法
var dogs = animales.filter(function(animale){
return animale.species === 'dog'
});
console.log(dogs)
- filter簡(jiǎn)介
返回?cái)?shù)組中的滿足回調(diào)函數(shù)中指定的條件的元素恐似。
- 語(yǔ)法
array1.filter(callbackfn[, thisArg])
- 參數(shù)
- array1 必需映之。一個(gè)數(shù)組對(duì)象粟判。
- callbackfn 必需擦剑。一個(gè)接受最多三個(gè)參數(shù)的函數(shù)妖胀。對(duì)于數(shù)組中的每個(gè)元素,filter 方法都會(huì)調(diào)用 callbackfn 函數(shù)一次惠勒。
- thisArg 可選赚抡。可在 callbackfn 函數(shù)中為其引用 this 關(guān)鍵字的對(duì)象纠屋。如果省略 thisArg涂臣,則 undefined 將用作 this 值。
- 返回值
一個(gè)包含回調(diào)函數(shù)為其返回 true 的所有值的新數(shù)組售担。如果回調(diào)函數(shù)為 array1 的所有元素返回 false赁遗,則新數(shù)組的長(zhǎng)度為 0。