我有一个 2D 数组,我需要过滤具有日期字段(3d 列)的行
var data = [ ['1','a','12-12-2019','A'], ['2','b','','A'], ['3','c','12-1-2019','A'], ['4','d','','A'], ];
预期结果是
result = [ ['1','a','12-12-2019','A'], ['3','c','12-1-2019','A'], ];
使用 for 循环进行比较是耗时的,有没有最快的方法来检索?
我不担心使用循环来做到这一点 - 这就是循环的用途。
你可以只使用Array.prototype.filter() https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter确保每个数组的第二个位置都有一个值,并返回它是否为真。
var data = [ ['1','a','12-12-2019','A'], ['2','b','','A'], ['3','c','12-1-2019','A'], ['4','d','','A'], ]; // You're using a Google Apps script, so this is ES5 const result = data.filter(function(item) { return item[2]; }); console.log(result);