var a = [1,2],var b = [{value: 1,name: ‘123’},{value: 3, name=‘456’} 找出a不在b中的值
时间: 2024-10-16 08:05:07 浏览: 20
如果你有两个数组`a`和`b`,但是它们的结构并不相同,一个是整数数组,另一个是包含对象的数组,想要找出`a`中不在`b`的值,你需要先将两个数据结构转化为统一的形式才能做比较。在这种情况下,你可以遍历`a`数组,并检查每个值是否存在于`b`数组的对象`value`属性里。
这里有一个简单的示例,假设我们想找到`a`数组中不等于对象`value`值的元素:
```javascript
var a = [1, 2];
var b = [{ value: 1, name: '123' }, { value: 3, name: '456' }];
function findUnique(a, bProp) {
return a.filter(item => !b.some(obj => obj[bProp] === item));
}
let uniqueValues = findUnique(a, 'value');
console.log(uniqueValues); // 输出:[2]
```
这个函数`findUnique`接受一个数组`a`和一个对象属性名`bProp`作为参数,然后返回`a`中不在`b`的指定属性值中的元素。
注意,由于`b`数组中的元素是对象,我们使用了`.some()`方法配合`obj[bProp] === item`来判断对象的`value`属性是否与`item`相等。
阅读全文