js 判断一个数组的每一项是否在另一个对象数组中,若不存在,则向对象数组中的项中添加属性
时间: 2024-09-24 11:27:54 浏览: 39
streamsql:受 levelup 启发的流媒体、后端不可知 SQL ORM
在 JavaScript 中,你可以通过循环遍历数组并使用 `Array.prototype.includes()` 或者更为现代的 `Array.prototype.some()` 方法来判断一项是否存在于另一个数组对象中。如果某个元素不在目标对象数组中,可以使用 `Object.assign()` 或直接修改对象来添加新属性。下面是一个简单的示例:
```javascript
function processArray(arrToCheck, objArr) {
for (let i = 0; i < arrToCheck.length; i++) {
const item = arrToCheck[i];
if (!objArr.some(obj => obj.id === item)) { // 使用some检查存在性
// 如果item不在objArr中,假设每个对象都有'id'属性
const newObj = { ...objArr.find(obj => obj.id === 'default'), id: item };
objArr.push(newObj); // 向对象数组添加新对象
}
}
return objArr;
}
// 示例数组和对象数组
const arrToCheck = ['a', 'b', 'c'];
const objArr = [{ id: 'x'}, { id: 'y'}];
// 调用函数处理并返回结果
const processedArr = processArray(arrToCheck, objArr);
//
阅读全文