javascript - 如何在 2 个数组差异之间获取对象中的属性
问题描述
var a = [{a: '1', b: '1'}, {a: '2', b: '2'}]
var b = [{a: '2', b: '2'}, {a: '3', b: '23'}]
var c = a.map(itema => {if (b.some(itemb => itemb. a !== itema.a)) return {a: itema.a}})
console.log(c);
// result
c = [{a: '1'}, {a: '2'}]
// expected
c = [{a: '1'}]
解决方案
您的要求尚不清楚,但根据您的期望输出,您可以使用下面的代码。
var a = [{a: '1', b: '1'}, {a: '2', b: '2'}]
var b = [{a: '2', b: '2'}, {a: '3', b: '23'}]
var c = a.reduce( (arr, itema) => { if (!b.reduce( (flag,itemb) => { return flag || itemb.a == itema.a }, false )) { arr.push({a: itema.a}) } return arr } , []);
console.log(c);
推荐阅读
- reactjs - 单选按钮未根据 React 中 Select 选项的更改正确更新
- python - FixedFormatter_shoul_only_be_used_together_with_FixedLocator:如何在 matplotlib 中处理这个警告?
- c - 在while循环的赋值中使用括号?
- sql - 有没有办法计算同一列中的特定日期?
- c++ - 类模板方法特化
- perl - perl 命令超时
- tensorflow2.0 - tf.compat.v1.disable_eager_execution() 和 tf.data.dateset
- kotlin - 如何在 CoroutineExceptionHandler 中捕获特定异常
- python - 如何使用 Pandas to_html 将相同的 html bg 颜色应用于所有列
- java - 如何在 Spring MVC 中将用户输入与 BigDecimal 对象字段绑定?