gpt4 book ai didi

javascript - 将空值转换为 0

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:58:20 25 4
gpt4 key购买 nike

考虑这个/请在 chrome 控制台中自己尝试。

data = [1,,2,,3]

现在我想用 0 替换空值

data = [1,0,2,0,3]

我做到了:

data = data.map(e => {

if (e===undefined)
{
return 0;
}
else
{
return e;
}
});

但它仍然将空值返回为空。什么是正确的做法?

最佳答案

问题是 map 没有调用数组缺失元素的函数。来自 MDN :

callback is invoked only for indexes of the array which have assigned values, including undefined. It is not called for missing elements of the array (that is, indexes that have never been set, which have been deleted or which have never been assigned a value).

forEach也是如此。

您需要遍历数组索引,而不是使用其中一个映射函数。

for (let i = 0; i < data.length; i++) {
if (!(i in data)) {
data[i] = 0;
}
}

请注意,在数据中使用 i 只会跳过不存在的条目。如果你有明确的 undefined 它将被保留,例如

[1, , undefined, 3, 4]

会变成

[1, 0, undefined, 3, 4]

如果你想替换显式的undefined,你可以使用i === undefined代替。

关于javascript - 将空值转换为 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53638879/

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