的陣列爲了充分利用數組項的值相匹配的數組項我用這個:lodash得到陣列不匹配值
var result =_(response).keyBy('id').at(arrayOfIDs).value();
我該怎麼辦相反?獲取與數組值不匹配的項目。
的陣列爲了充分利用數組項的值相匹配的數組項我用這個:lodash得到陣列不匹配值
var result =_(response).keyBy('id').at(arrayOfIDs).value();
我該怎麼辦相反?獲取與數組值不匹配的項目。
這很容易與香草JS完成。
var nonMatchingItems = response.filter(function (item) {
return arrayOfIDs.indexOf(item.id) === -1;
});
同樣的方法,可以用lodash's _.filter()
,如果你積極地必須使用lodash。
ES6以上的版本:
var nonMatchingItems = response.filter(item => arrayOfIDs.indexOf(item.id) === -1);
// or, shorter
var nonMatchingItems = response.filter(item => !arrayOfIDs.includes(item.id));
你不需要lodash,只需使用普通的javascript;它更容易閱讀以及...
function getId (val) {
return val.id;
}
function notMatchId (val) {
return arrayOfIDs.indexOf(val) === -1;
}
var result = response.map(getId).filter(notMatchId);
不是真的正確,這將返回ID列表中,OP希望相關的項目。 – Tomalak
它的工作原理,謝謝。 – qr11