可以使用循环以及比较函数来比较两个对象内的数组。以下是一个示例代码:
let parentArray = [
{ id: 1, array: [1, 2, 3] },
{ id: 2, array: [4, 5, 6] },
{ id: 3, array: [7, 8, 9] },
{ id: 4, array: [1, 2, 3] }
]
function compareArrays(array1, array2) {
if (array1.length !== array2.length) {
return false
}
for (let i = 0; i < array1.length; i++) {
if (array1[i] !== array2[i]) {
return false
}
}
return true
}
function compareObjects(obj1, obj2) {
return compareArrays(obj1.array, obj2.array)
}
for (let i = 0; i < parentArray.length; i++) {
for (let j = i + 1; j < parentArray.length; j++) {
if (compareObjects(parentArray[i], parentArray[j])) {
console.log(`Array inside object ${parentArray[i].id} is equal to array inside object ${parentArray[j].id}`)
}
}
}
代码中,我们首先定义了两个比较函数compareArrays
和compareObjects
。compareArrays
函数用来比较两个数组是否相同,compareObjects
函数则用来比较两个对象内的数组是否相同。
接着,我们使用嵌套的for
循环来遍历父数组中的所有对象,并用compareObjects
函数来比较每对对象内的数组是否相同。如果两个对象内的数组相同,我们使用console.log
语句打印一条相应的信息。
运行上述代码,将会输出:
Array inside object 1 is equal to array inside object 4
上一篇:比较一个对象的值与null
下一篇:比较一个对象数组和一个单值数组