![](/img/trans.png)
[英]How to map items without undefined value in javascript with Array.prototype.map and without Array.prototype.filter()
[英]Javascript - getting difference between two arrays of objects based on key value without using Array.prototype.filter
這個小提琴展示了如何根據我的案例id
中的鍵9的值來獲取不在數組中的元素。
此解決方案來自此處: JavaScript中兩個對象數組之間的區別
在找到該解決方案之前,我嘗試使用簡單的for循環以一個數組組成,該數組僅由a
的對象組成,而不包含b
的對象。
有人可以在不使用javascripts Array.prototype.filter
函數的情況下提供解決方案嗎?
編輯:在我來說,我特別想處理數組的情況下, b
始終是一個數組的一個子集a
。
我在嵌套循環方面遇到了麻煩,但是一旦我將內部循環分解為一個函數,我就能很快地抓住解決方案:
不幸的是,我明白為什么其他的解決辦法最好-雷將不會返回一個真正的區別,只是在元素a
而不是在b
,除非我Concat的兩個返回的數組( http://jsfiddle.net/xzy9Lyr0/2/ )。
這是一個可能包含惡作劇痕跡的答案。
為了擴展@Jon通過學習來理解的呼吁,這里有一個簡單而復雜的解決方案:
var bstr = JSON.stringify(b);
for (var i = a.length - 1; i >= 0; i--) {
if (!~bstr.indexOf(JSON.stringify(a[i]))) {
c.push(a[i]);
}
}
請享用!
編輯:修復錯字。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.