gpt4 book ai didi

javascript - 如何检查数组中的所有对象是否包含相同的键和值?

转载 作者:行者123 更新时间:2023-12-01 15:38:21 24 4
gpt4 key购买 nike

如何检查数组中的所有对象是否包含相同的键和值

const arrOfObjects = [{a: 1, b: 2}, {a: 1, b: 2}, {a:1, b: 2 }] // true

const arrOfObjects = [{a: 1, b: 2}, {a: 1, b: 2}, {a:2, b: 1 }] //false

const arrOfObjects = [{a: 1, b: 2}, {a: 1, b: 2, c: 3}, {a:2, b: 1 }] //false

这是我的试用版,看起来如此丑陋和糟糕且无法正常工作,如果有人为该问题提供有效的代码,我将不胜感激!
function test(arr){

const firstItem = arr[0];
const firstItemKeys = Object.keys(firstItem);

for(let i = 0; i < firstItemKeys.length; i++) {
for(let j = 0; j < arr.length; j++) {
for(let x in arr[j]) {
if(arr[j][x] !== firstItem[firstItemKeys[i]]) return false
}
}
}

return true
}

最佳答案

这是代码:

const arrOfObjects = [
{ a: 1, b: 2 },
{ a: 1, b: 2 },
{ b: 2, a: 1 },
]
function areEquals(a, b) {
var keys1 = Object.keys(a)
var keys2 = Object.keys(b)
if(keys1.length !== keys2.length) {
return false ;
}
for(key in a) {
if(a[key] !== b[key]) return false;
}
return true ;
}
function checkArray(arr) {
for (var i = 1; i < arr.length; i++) {
if (!areEquals(arr[0], arr[i])) return false
}
return true
}
console.log(checkArray(arrOfObjects))

关于javascript - 如何检查数组中的所有对象是否包含相同的键和值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62461165/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com