我试图使用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));

最佳答案

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

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

09-25 18:32