gpt4 book ai didi

javascript - 匹配空对象数组

转载 作者:行者123 更新时间:2023-11-28 14:20:20 25 4
gpt4 key购买 nike

我必须在 JavaScript 代码中匹配以下条件:

var a = [{}];

if (a === [{}]) {
console.log('True');
} else {
console.log('False');
}

它总是打印 False ,为什么?

最佳答案

如果您要比较两个对象/数组,只有当它们在内存中具有相同的引用时,才会返回true[] 将创建一个具有不同引用的新数组,因此它不能与其他数组相等。

console.log([] === []) //false

let a = [];
let b = a;
//Now 'a' and 'b' have same reference

console.log(a === b) //true

要解决此问题,您可以检查数组的长度及其第一个元素的 Object.keys()length

var a = [{}];
if (a.length === 1 && typeof a[0] === "object" && Object.keys(a[0]).length === 0) {
console.log('True');
} else {
console.log('False');
}

您还可以使用JSON.stringify()

var a = [{}];
if (JSON.stringify(a) === '[{}]') {
console.log('True');
} else {
console.log('False');
}

关于javascript - 匹配空对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55419721/

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