假设我的 arr1
和 arr2
设置如下。
var arr1 = [
{
items: ['1','2','3']
},
{
items: ['4','5','6']
},
{
items: [] // empty array
},
...
]
var arr2 = [
['A', 'B', 'C'],
['D', 'E', 'F'],
['X', 'Y', 'Z'],
...
]
我想做的是,如果arr1
中有一个空的items
数组,则:
- 创建一个新的
filtered_arr
,其中仅包含具有非空items
数组的对象。 - 找出该数组的索引(在上面的示例中,空数组出现在
arr1[2]
位置)并过滤出arr2
中的相应位置- 意思是删除arr2[2]
数组
有什么帮助吗?
最佳答案
可以使用原生JS数组filter
方法按指定标准过滤 arr1 中的值(在本例中为该值是否包含空数组)。您可以使用 splice
如果您的条件匹配,则随后从 arr2
中删除相应索引处的项目。
其实现如下所示:
var filtered_arr = arr1.filter(function(val, idx) {
if (val['items'].length == 0) {
arr2.splice(idx, 1);
return false;
}
return true;
});
关于javascript - 过滤空数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25903596/