gpt4 book ai didi

javascript - 如何在 JavaScript 中从数组中删除 null

转载 作者:行者123 更新时间:2023-12-01 01:06:08 34 4
gpt4 key购买 nike

我想删除数组中的空元素

 [ [ null, [ [Array], [Array] ] ] ]

所需的结构是 [ [[Array],[Array]], [[Array],[Array]], [[Array],[Array]] ]

如果任何对象未定义/为 null,例如:

[ [[Array],[]],  [[Array],[Array]],  [[Array],[Array]] ]

我希望删除整个元素[[Array],[]]

"is"和“否”正确识别哪些元素具有未定义。所以我知道这段代码运行正常。我尝试将空数组分配为 null,然后通过添加到新数组 if != null 进行过滤,但它不起作用。

var filter = Total[0][i];

filter.forEach(e => {
if ((e[0] !== undefined)&&(e[1] !== undefined)) {
console.log('yes');
} else {
console.log('no');
Total[0][i] = null;
}
});

var totalArray = [];

const resultFilter = Total.filter(arr => arr != null);

var Filtereddata = resultFilter.filter(function(element) {
return element !== null;
}

我不确定如何将元素或过滤器删除到不带 null 的新数组中。空数组导致客户端出现额外的问题 ,最好完全删除索引/元素。

最佳答案

您可以递归地过滤掉 null:

 const noNull = array => array
.map(el => Array.isArray(el) ? noNull(el) : el)
.filter(it => it !== null);

如果您还想删除空数组,可以将 [] 替换为 null:

 const noEmpty = array => array.length ? array : null;

然后将递归调用从 noNull(el) 更改为 noEmpty(noNull(el))

关于javascript - 如何在 JavaScript 中从数组中删除 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55617709/

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