当前位置:  开发笔记 > 编程语言 > 正文

针对另一个对象数组过滤对象数组

如何解决《针对另一个对象数组过滤对象数组》经验,为你挑选了1个好方法。

我有两个像这样简化的数组.

var a = [{
 number: 1,
 name: "A"
}, {
 number: 2,
 name: "B"
}, {
 number: 3,
 name: "C"
}, {
 number: 4,
 name: "D"
}, {
 number: 5,
 name: "E"
}, {
 number: 6,
 name: "F"
}];

var b = [{
 number: 3,
 name: "C"
}, {
 number: 6,
 name: "F"
}];

我想要的是返回一个数组,其中a过滤b.结果是这样的.

var result = [{
 number: 1,
 name: "A"
}, {
 number: 2,
 name: "B"
}, {
 number: 4,
 name: "D"
}, {
 number: 5,
 name: "E"
}];

在堆栈溢出这里看了很多其他解决方案,但无法让它工作.

我可以使用像下划线这样的库.



1> Maxim Kuzmin..:

lodash通过单线解决方案可以实现.

var a = [{
 number: 1,
 name: "A"
}, {
 number: 2,
 name: "B"
}, {
 number: 3,
 name: "C"
}, {
 number: 4,
 name: "D"
}, {
 number: 5,
 name: "E"
}, {
 number: 6,
 name: "F"
}];

var b = [{
 number: 3,
 name: "C"
}, {
 number: 6,
 name: "F"
}];

var result = _.differenceWith(a, b, _.isEqual);

console.log(result)
推荐阅读
U友50081205_653
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有