2017-03-06 15 views
0

私は値(1,2,3)の配列と結果の配列(y、n、y)を持っています。私は結果に基づいて値をフィルタリングしたいと思います。私はMDNに配列フィルタリング用ドキュメントを参照してください何に基づいてノードJS - 配列のフィルタリング

 var arr = ["1","2","3"]; 
     var res = ["y","n","y"]; 
     var rarr = res.filter(function(item,index){ 
      if (item==='y') { 
      fRes.push(this[index]); 
      }; 
      return (item==='y'); 
     },arr); 

     console.log(fRes); 
     console.log(rarr); 

が、私は驚いてそのRARR:その目的のために、私は私が合格ところ以下のようにコンテキストとしてARR、arr.filter機能を使用していますfResと同じ値を持っていません(これは私が探しているものです)。私の理解は、テストはresの値にあり、成功すればコンテキスト(ここではarr)からの対応する項目が選択されるということです。それは事実ではないようです(したがって、私が探している結果の表を作成するこのプッシュがあります)?ありがとう - キリスト教

答えて

2

resの同じインデックスを持つ要素がyであるarrをフィルタリングするフィルタの第2パラメータであるindexを使用できます。

var arr = ["1","2","3"]; 
 
var res = ["y","n","y"]; 
 

 
var result = arr.filter(function(e, i) { 
 
    return res[i] == 'y' 
 
}) 
 

 
console.log(result)

+0

おかげ - 物事を見ているが、異なる:-)に役立ちます – Christian68