从2d数组中清除空数组

时间:2018-03-19 07:55:23

标签: google-apps-script

我有一个数组 -

[[Rice, 125.0, 5000.0, Sat Dec 30 01:23:24 GMT-06:36 1899], [, , , ], [, , , ], [, , , ], [, , , ], [, , , ], [, , , ], [, , , ]]

我需要从数组末尾删除空数组,我该怎么做?

4 个答案:

答案 0 :(得分:1)

稍微更优雅的方式是通过布尔

进行过滤
inputArr.filter(function(a) {
  return a.filter(Boolean).length > 0;
});

答案 1 :(得分:0)

你可以做join关于""的内部数组,这样如果该数组中有任何值,那么它将不会产生""。因此,您可以比较此条件并在res变量中创建一个新数组:



var inputArray = [['Rice', 125.0, 5000.0, 'Sat Dec 30 01:23:24 GMT-06:36 1899'], [ , , ], [ , , ], [ , , ], [ , , ]];

var res = inputArray.filter(
    innerArray => innerArray.join("") !== "" 
);
	
console.log(res);




答案 2 :(得分:0)

您可以检查现有项目并调整数组的长度,以便从末尾删除稀疏数组。

var array = [['some data', 42], [0, , , ], [, , , ], [, , , ], [, , , ], [, , , ], [, , , ], [, , , ]],
    i = array.length;
    
while (i--) {
    if (array[i].some(function () { return true; })) {
        break;
    }
    array.length = i;
}

console.log(array);

答案 3 :(得分:0)

这是解决方案!  享受!

<!doctype html>
<html>
<body>
<p id="remove">This will be removed!</p>
<script src="script.js"></script>
</body>