前提・実現したいこと
配列と配列オブジェクトがあります。
JS
1const result_r = ['a0000', 'a0001', 'a0002', 'a0003', 'a0004']; 2const obj = [{updateKey: {…}, record: {…}},{updateKey: {…}, record: {…}}];
result_r
の配列の値を使ってobj
の中からマッチするものだけをfilterを使って絞りたいと思ったのですが、上手くいきません。
該当のソースコード
JS
1var results = obj.filter(function(item, index) { 2 for (var s in this) { 3 if (item.updateKey.value[s] === result_r[s]) return true; 4 } 5},obj);
上記の様にしてみましたが、どうも上手くいっておりません。お手数ですがご教授頂けませんでしょうか。
updateKeyの中身となっているオブジェクトは、どのようなものでしょうか。
updateKeyの中身ですが、下記の様になっております。
"updateKey": {
"field": "string_code",
"value": "a0002"
},
の感じになっております。
`for (var s in this)`の所でthisを使っている箇所が意味不明です。
どうしても!どうしても!配列そのものを個別の確認に使わなければならない場合、
コールバック関数の第三引数に配列そのものが入ってくるのでそれを利用してください。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/filter
回答1件
あなたの回答
tips
プレビュー