gpt4 book ai didi

javascript - 如何不映射缺少子值的对象

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

我正在映射数组中的一些数据。数组长度为 3,所以我得到 3 个版本。如果子值是 ''undefined 我根本不希望它只映射具有所有值的对象。

const data = {
status4Weeks: "2",
status12Weeks: ""
};

status12weeks 应该被跳过,因为它是空的。我为我的映射创建了一个新数组,添加了一些其他值。

const newdata = [
{
title: "4 Weeks",
statusWeek: data.status4Weeks,
color: status4WeeksColor,
numWeeks: 4
},
{
title: "12 Weeks",
statusWeek: data.status12Weeks,
color: status12WeeksColor,
numWeeks: 12
}
];

不应映射 4 周,因为缺少驱动它的基本值(value)。

{newdata.map(v => (
<ListItem dense={this.props.dense} alignItems="flex-start">
<ListItemText
primary={
<React.Fragment>
Predicted score - <strong>{v.title}</strong>
</React.Fragment>
}
secondary={
<React.Fragment>
<Typography component="span" color="textPrimary">
Predicted date{" "}
<i
style={{ "font-size": "1em" }}
className="zmdi zmdi-calendar mx-2"
/>{" "}
{moment(data.vulnerabilityDate)
.add(v.numWeeks, "weeks")
.format("MMM DD, YYYY")}
</Typography>
</React.Fragment>
}
/>
<ListItemSecondaryAction>
<span
style={{
"font-size": "1rem",
"background-color": v.color,
"min-width": "45px"
}}
className="vulnerability badge badge-primary"
>
{v.statusWeek}
</span>
</ListItemSecondaryAction>
</ListItem>
))}

这是一个codesandbox - https://codesandbox.io/s/wq72p92295

我尝试在我的映射中使用三元运算符:

{v.status.Week !== '' || undefined ? ...

最佳答案

映射数组仍将返回从数组中删除索引。

使用 filter在这种情况下会起作用。

你应该使用类似的东西:

array.filter(e=> (e!==undefined && e.length>0)).map(e=> /*your map stuff*/)

希望对您有所帮助,

关于javascript - 如何不映射缺少子值的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54890068/

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