Javascript 筛选空数组
假设我有Javascript 筛选空数组,javascript,jquery,Javascript,Jquery,假设我有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
和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\u arr
,其中仅包含具有非空项的对象
arr1[2]
spot中),并过滤掉arr2
中的相应位置-意味着删除arr2[2]
数组var arr1=[{
项目:['1','2','3']
}, {
项目:['4','5','6']
}, {
items:[//空数组
}, {
项目:['7','8','9']
}, {
项目:['10','11','12']
}]
var arr2=[
[A',B',C'],
[D'、[E'、[F'],
[G',H',I'],
[J',K',L'],
['X','Y','Z']
]
var过滤_arr=[];
arr1.forEach(函数(val,idx){
if(val.items.length){
过滤的到达推送(val);
}否则{
arr2.接头(idx,1)
}
});
$('#filtered_arr').text(JSON.stringify(filtered_arr));
$('#arr2').text(JSON.stringify(arr2))代码>
过滤数组:
数组2:
var arr1=[{
项目:['1','2','3']
}, {
项目:['4','5','6']
}, {
items:[//空数组
}, {
项目:['7','8','9']
}, {
项目:['10','11','12']
}]
var arr2=[
[A',B',C'],
[D'、[E'、[F'],
[G',H',I'],
[J',K',L'],
['X','Y','Z']
]
var过滤_arr=[];
arr1.forEach(函数(val,idx){
if(val.items.length){
过滤的到达推送(val);
}否则{
arr2.接头(idx,1)
}
});
$('#filtered_arr').text(JSON.stringify(filtered_arr));
$('#arr2').text(JSON.stringify(arr2))代码>
过滤数组:
数组2:
您可以使用本机JS数组方法按照指定的条件过滤arr1
中的值(在这种情况下,该值是否包含空白数组)。如果符合您的标准,您可以使用该方法从arr2
中删除相应索引处的项目
这一点的实现如下所示:
var filtered_arr = arr1.filter(function(val, idx) {
if (val['items'].length == 0) {
arr2.splice(idx, 1);
return false;
}
return true;
});
您可以使用本机JS数组方法按照指定的标准过滤arr1
中的值(在这种情况下,该值是否包含空白数组)。如果符合您的标准,您可以使用该方法从arr2
中删除相应索引处的项目
这一点的实现如下所示:
var filtered_arr = arr1.filter(function(val, idx) {
if (val['items'].length == 0) {
arr2.splice(idx, 1);
return false;
}
return true;
});