[英]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.