2017-07-27 6 views
0

indexlistにリストされているインデックスを使用して、配列の配列内の特定の列をフィルタリングしようとしています。以下の関数は投げています:JavaScriptの配列の配列内の特定の列をフィルタリングする最も良い方法

'範囲の座標または寸法が無効です。'

これにはどのような方法が適していますか?

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));

+2

問題を示すStack Snippets([<文字列>]ツールバーボタン)を使用して** runnable ** [mcve]で質問を更新してください。 –

+0

[mcve]には、問題を示す*サンプル入力データ*が含まれている必要があります。 – Quentin

+0

私はちょうど私自身のsampledata上で関数を実行する、それは私のために働いています。 – Stephan

答えて

1

あなたはindexlistを使用して、指定したインデックスの値のみをマップすることができます。

function shortenedCol(arrayofarray, indexlist) { 
    return arrayofarray.map(function (array) { 
     return indexlist.map(function (idx) { 
      return array[idx]; 
     }); 
    }); 
} 
関連する問題