在Javascript中过滤数组数组中某些列的最佳方法

时间:2017-07-27 08:57:28

标签: javascript arrays

我正在尝试使用indexlist中列出的索引过滤数组数组中的某些列。下面的函数是抛出:

  

'范围的坐标或尺寸无效。'

对此有什么正确的方法?

function shortenedCol(arrayofarray, indexlist) {
  return arrayofarray.map(function(array) {
    return array.filter(function(el, idx) {
      return this.indexOf(idx) != -1;
    }, this);
  }, indexlist);
}
  var indexlist = [0,2,3];
  var arrayofarray = [['a','b','c','d','e'],['a','b','c','d','e'],['a','b','c','d','e']]
  console.log(shortenedCol(arrayofarray,indexlist));

1 个答案:

答案 0 :(得分:1)

您可以使用indexlist并仅映射指定索引的值。

function shortenedCol(arrayofarray, indexlist) {
    return arrayofarray.map(function (array) {
        return indexlist.map(function (idx) {
            return array[idx];
        });
    });
}