Art*_*urJ 0 javascript arrays javascript-objects
给定以下两个数组对象:
let origArr = [ { value: 2, label: 'Dog' },
{ value: 4, label: 'Cat' },
{ value: 16, label: 'Horse' }
]
let newArr = [
{ value: 2, label: 'Dog' },
{ value: 3, label: 'Bird' },
{ value: 0, label: 'Fish' }
]
Run Code Online (Sandbox Code Playgroud)
origArr返回仅包含和之间的差值newArr(即origArr元素不在其中)的新数组的最佳方法是什么newArr?
在上面的示例中,我正在寻找一个名为的新数组diffArr = [4,16]
请注意:和value中的所有值都是唯一的origArrnewArr
不确定是否有ES2016的意思?
您可以使用filter和some来完成这项工作。
let origArr = [ { value: 2, label: 'Dog' },
{ value: 4, label: 'Cat' },
{ value: 16, label: 'Horse' }
]
let newArr = [
{ value: 2, label: 'Dog' },
{ value: 3, label: 'Bird' },
{ value: 0, label: 'Fish' }
]
const res = origArr.filter(x => !newArr.some(y => y.value === x.value));
console.log(res); // assuming you want the entire filtered objects
const justValues = res.map(x => x.value); // if you want just the filtered values
console.log(justValues)Run Code Online (Sandbox Code Playgroud)
一些 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/some
过滤器 - https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
| 归档时间: |
|
| 查看次数: |
6078 次 |
| 最近记录: |