gpt4 book ai didi

javascript - 通过具有未定义字段的数组进行映射

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

我正在实现一个哈希表,其中显然有些字段未定义,因为它们尚未填充。

我还想显示哈希表的每个字段。但是,当我映射数组时,该函数仅返回未定义字段的 div,无法弄清楚如何强制映射函数为未定义字段显示 Empty。

现在看起来是这样的:

const displayTable = () => {
return storage.map(item => {
if (item == null) {
return <div>undefined</div>
}
return (
<div>
<p>{item[0][0]}</p>
</div>
);
});

存储为[未定义,未定义,未定义,Array[1],未定义,Array[1],未定义,未定义,未定义,Array[1]]

因此我最终只得到了三个渲染的 div。

最佳答案

在 Javascript 中,未定义未定义 不是同一件事,尽管尝试访问对象的未定义 属性会返回值未定义。考虑到 JS 也有 null,我认为这是 JS 最困惑的事情之一。

您可以通过在开始填充数组之前填充数组来解决您的问题:

storage.fill(null)

(请注意,storage.fill(undefined) 也可以工作!Javascript 不是很棒吗?:p)

当然,只有当数组具有静态的已知长度时,这才有效。如果长度是动态的,则必须执行以下操作:

const displayTable = () => {
const rendered = [];
for (let i = 0; i < storage.length; i++) {
if (storage[i] == null) {
rendered.push(<div>undefined</div>);
} else {
rendered.push(
<div>
<p>{storage[i][0][0]}</p>
</div>
);
}
}
return rendered;
}

关于javascript - 通过具有未定义字段的数组进行映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50160433/

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