gpt4 book ai didi

javascript - 如何从 "null"和 "undefined"值过滤嵌套数组?

转载 作者:行者123 更新时间:2023-11-30 07:38:18 33 4
gpt4 key购买 nike

如果我有一个 JSON 数组:

arrays = 
[
[
undefined,
",",
" ",
"simple"
],
[
undefined,
null,
" ",
"phrase"
],
[
undefined,
",",
" ",
"one"
],
[
undefined,
null,
" ",
"another"
],
[
undefined,
null,
" ",
"phrase"
]
]

我想从 undefined 中筛选和 null值(value)观:

arrays.forEach(function(array){array.filter(function(n){return !!n})});

arrays.forEach(function(array){array = array.filter(function(n){return !!n})});

但它返回相同的数组,没有任何变化。

否则,如果我直接使用内部数组,它会起作用:

rest_words[0].filter(function(n){return !!n});
=> [",", " ", "simple"]

为什么 forEach()不允许修改数组?它是否仅按值迭代?通过迭代修改数组的最佳解决方案是什么?

我希望有更多的东西然后通过 for(i=0, i<arrays.length, i++){arrays[i] = arrays[i].filter(...)} 迭代

最佳答案

您只是在那里分配给本地 array 变量,而不是写入实际的 arrays 属性。你可以做

arrays.forEach(function(array, i, all) {
all[i] = array.filter(Boolean); // where all===arrays
});

但是你最好使用 map创建一个新数组:

refinedArrays = arrays.map(function(array) {
return array.filter(Boolean);
});

关于javascript - 如何从 "null"和 "undefined"值过滤嵌套数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24665272/

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