const x = [{issueAge:1},{issueAge:2},{issueAge:3}] const y = [{ageAround:1},{ageAround:5}] 想把x数组中 元素issueAge和数组y中ageAround值相等的元素提取出来组成新数组咋写
时间: 2024-09-22 22:03:26 浏览: 39
要从两个数组`x`和`y`中找出`issueAge`和`ageAround`值相等的元素并组合成一个新的数组,你可以使用`Array.prototype.filter()`方法结合条件检查。首先创建一个函数用于比较两个对象的属性,然后对每个数组应用这个函数。以下是JavaScript的代码示例:
```javascript
const x = [{ issueAge: 1 }, { issueAge: 2 }, { issueAge: 3 }];
const y = [{ ageAround: 1 }, { ageAround: 5 }];
function compareObjects(obj1, obj2) {
return obj1.issueAge === obj2.ageAround;
}
const result = x.map((item) => {
const matchingItem = y.find(compareObjects);
return matchingItem || item; // 如果找不到匹配项,则返回原对象
}).filter(Boolean); // 过滤掉undefined
console.log(result);
```
这将输出一个新的数组,包含`x`和`y`中`issueAge`和`ageAround`值相同的对象。如果没有任何匹配项,`find()`会返回`undefined`,我们通过`|| item`保证原对象会被保留。
阅读全文