js 对象数组 查找对象中的数组是不是与另一个数组相等
时间: 2024-03-25 07:36:02 浏览: 66
可以使用 JavaScript 中的 `JSON.stringify()` 方法将两个数组转换为字符串,然后比较这两个字符串是否相等来判断数组是否相等。具体代码如下:
```javascript
function isArraysEqual(objArray, targetArray) {
for (let i = 0; i < objArray.length; i++) {
if (JSON.stringify(objArray[i].array) === JSON.stringify(targetArray)) {
return true;
}
}
return false;
}
```
其中 `objArray` 是对象数组,每个对象都有一个 `array` 属性,表示要比较的数组;`targetArray` 是要比较的目标数组。函数会遍历 `objArray` 中的每个对象,将它的 `array` 属性与 `targetArray` 转换为字符串并比较是否相等,如果找到相等的则返回 `true`,否则返回 `false`。
相关问题
js判断数组对象的某个值是否相等
你可以使用数组对象的 `find` 方法来查找是否有符合条件的对象,然后再根据对象的属性值来进行判断。例如,以下代码可以判断一个数组对象中是否存在 `id` 值为 `1` 的对象:
```javascript
const arr = [
{ id: 1, name: 'obj1' },
{ id: 2, name: 'obj2' },
{ id: 3, name: 'obj3' }
];
const obj = arr.find(item => item.id === 1);
if (obj) {
console.log(`Found object with id ${obj.id}`);
} else {
console.log('Object not found');
}
```
如果找到了符合条件的对象,`find` 方法会返回该对象,否则返回 `undefined`。在上述代码中,我们根据返回的对象是否为 `undefined` 来判断是否找到了符合条件的对象。你可以根据自己的需求来修改判断条件。
lib是一个包含三个对象的数组,每个对象有id和name两个属性,要找到el-form中id字段的每个值对应lib数组中id相等的name
可以通过以下步骤来实现:
1. 获取el-form表格中的所有字段id。
2. 遍历el-form中的每个字段id,在lib数组中查找id相等的对象。
3. 如果找到了对应的对象,就获取该对象的name属性值。
具体实现方式可能会因为具体的业务逻辑而有所不同,以下是一个简单的示例代码:
```javascript
// 获取el-form表格中的所有字段id
const fieldIds = ['input1', 'input2', 'input3'];
// 遍历el-form中的每个字段id,在lib数组中查找id相等的对象
const fieldValues = fieldIds.map(fieldId => {
const prop = lib.find(item => item.id === fieldId);
// 如果找到了对应的对象,就获取该对象的name属性值
if (prop) {
return prop.name;
}
return '';
});
// fieldValues数组中存储了每个字段id对应的name属性值
console.log(fieldValues);
```
需要注意的是,以上代码只是一个简单的示例,具体实现方式需要根据具体情况进行调整。
阅读全文