删除多维数组中的空数组

时间:2015-04-03 14:30:35

标签: arrays angularjs

here is my code in jsfiddle

var app = angular.module("app", []);

app.controller("MyCtrl1", MyCtrl1);

function MyCtrl1($scope) {

    $scope.block = new Array();

    $scope.block[0] = new Array();
    $scope.block[0].push("111");
    $scope.block[0].push("112");
    $scope.block[0].push("113");
    $scope.block[0].push("114");
    $scope.block[0].push("115");

    $scope.block[2].length = 0;

    $scope.block[3] = new Array();
    $scope.block[3].push("111");
    $scope.block[3].push("112");
    $scope.block[3].push("113");
    $scope.block[3].push("114");
    $scope.block[3].push("115");


    $scope.block.filter(Boolean);

    console.log($scope.block.length.toString());

}

[[ “111”, “112”, “113”, “114”, “115”],[ “111”, “112”, “113”, “114”, “115”], [] 下,[ “111”, “112”, “113”, “114”, “115”]]

如何删除空数组 谢谢帮助〜

2 个答案:

答案 0 :(得分:3)

Array#filter不会修改它所调用的数组。它返回一个新数组。

此外,Boolean([])true,因此无法在此处使用。

这样做:

$scope.block = $scope.block.filter(function (arr) {
    return arr.length;
});

http://jsfiddle.net/wmLmrqrq/

答案 1 :(得分:1)

如果我理解你的问题,这应该可以解决问题:

$scope.block.splice(2,1)

第一个参数指定"块"的索引。阵列。第二个参数指定从该索引开始删除的项目数。