gpt4 book ai didi

javascript - 未初始化值和未定义值之间的区别

转载 作者:行者123 更新时间:2023-12-05 03:22:37 25 4
gpt4 key购买 nike

let a = Array(3);
a[0] = 1;
a[1] = undefined;

function test(arr) {
return arr.map(a => !!a);
}

console.log('before', a); // [1, undefined, undefined]
console.log('after', test(a)); // [true, false, undefined]

如何检查数组元素是否初始化为未定义 (a[1]) 或未初始化 (a[2])? a[2] 为空值,但浏览器将其转换为未定义。

最佳答案

您可以将 hasOwnProperty 与索引一起使用。
当索引处未设置任何值时,hasOwnProperty 返回 false:

const a = Array(3);
a[1] = undefined;

console.log(a.hasOwnProperty(0));
console.log(a.hasOwnProperty(1));
console.log(a.hasOwnProperty(2));

in 也适用:

const a = Array(3);
a[1] = undefined;

console.log(0 in a);
console.log(1 in a);
console.log(2 in a);

关于javascript - 未初始化值和未定义值之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72688907/

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