-1
我要篩選的陣列對象返回陣列時,從另一陣列的屬性匹配
var arr = [{name:"james",id:10},{name:"john",id:2}];
我想要的是除去使用的id
其值不是在arr
即[10,2]
的項目上面的arr
。
我被困在地圖
var filtered = arr.map(function(item){
return //??
})
我要篩選的陣列對象返回陣列時,從另一陣列的屬性匹配
var arr = [{name:"james",id:10},{name:"john",id:2}];
我想要的是除去使用的id
其值不是在arr
即[10,2]
的項目上面的arr
。
我被困在地圖
var filtered = arr.map(function(item){
return //??
})
您可以使用filter
如你所說。過濾標準是arr.id
位於[10, 2]
。
const filtered = arr.filter((item) => [10, 2].indexOf(item.id) !== -1);
這將只保留那些ID爲[10, 2]
的元素。
可以使用_.keyBy
和_.at
避免回調
var res = _.chain(arr)
.keyBy('id')
.at([10, 2])
.compact()
.value();
'const的過濾= arr.filter(項目=> [10,2] .includes(item.id))'或'常量過濾= ARR .filter(({id})=> [10,2] .includes(id))' –
是那麼簡單嗎? hmm –
@PranavCBalan包含的是'es6'?我不知道indexOf可以是一個數組的方法,那是es2015嗎? –