gpt4 book ai didi

javascript - 检查对象数组 key 是否为空并拼接它

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

我有一个对象数组,其中有一个带有 Boolean 值的空键,如果 Boolean 值为 false 则对象数组应该被拼接。

下面是数组结构:

this.dataTobeDeleted= [{
NotificationID: "2180",
Quantity: 1,
NotificationName: "453",
AlertNumber: "02/19/2020",
"": true
},
{
NotificationID: "2182",
Quantity: 1,
NotificationName: "453",
AlertNumber: "02/19/2020",
"": false
},
{
NotificationID: "2181",
Quantity: 1,
NotificationName: "453",
AlertNumber: "02/19/2020",
"": false
}
]

上面的数组中有一个空字符串“key”,如果key值为false则需要使用索引拼接对象数组。

下面是我尝试过的代码:

for (var i = 0; i < this.dataTobeDeleted.length; i++) {
for (var val in this.dataTobeDeleted[i]) {
if (val === "") {

this.dataTobeDeleted[i]['isCheckedValue'] = this.dataTobeDeleted[i][""]; // insetring new key for empty key string
delete this.dataTobeDeleted[i][""]; // Delete old key
if (this.dataTobeDeleted[i].isCheckedValue === false) {
this.dataTobeDeleted.splice(i, 1)
}
}
}
}

上面的代码是正确的,但我需要更短的方式,因为我尝试的代码较长,并且当数据太多时会产生问题。

我也尝试使用过滤器,但我没有得到空键来检查 boolean 值。

最佳答案

使用数组过滤器删除您不需要的项目:

this.dataTobeDeleted.filter(x => !!x[''])

演示:https://stackblitz.com/edit/router-template-1t2xz7

这将创建一个新数组,仅保留属性 '' 为 true 的数组。如果你想更严格,你可以使用严格的 bool 检查:

this.dataTobeDeleted.filter(x => x[''] === true)

关于javascript - 检查对象数组 key 是否为空并拼接它,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60301029/

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