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;
    });