gpt4 book ai didi

javascript - 如果内部数组满足条件,则删除外部数组对象

转载 作者:行者123 更新时间:2023-11-30 12:08:49 24 4
gpt4 key购买 nike

我正在处理一个相当复杂的对象。它包含 2 个数组,每个数组包含 3 个对象:

enter image description here

我正在尝试删除其中一个历史记录:Array[2],如果其中一个对象的用户名为 null。

var resultsArray = result.history;
var arrayCounter = 0;

resultsArray.forEach(function(item) {
item.forEach(function(innerItem) {
if (innerItem.username == null) {
resultsArray.splice(arrayCounter,1);
};
});
arrayCounter++;
});

浏览答案建议执行以下操作:

resultsArray.splice(arrayCounter,1);

这在这种情况下不起作用,因为不止一个对象可能具有用户名 == null,在这种情况下,它将删除多个历史对象,而不仅仅是我想要的那个。

如果 username == null,我如何只删除一个特定的历史数组索引?

最佳答案

拼接 是邪恶的。我认为使用像过滤器这样的不可变数组方法可能更容易推理:

x.history =
x.history.filter(function (h) {
return !h.some(function (item) {
return item.username === null
})
})

遍历所有历史记录,如果它们的用户名为空,则不要将它们包含在过滤器中。

关于javascript - 如果内部数组满足条件,则删除外部数组对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34425093/

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