2017-12-30 9 views
-2

Javascriptでは、配列の値に基づいてJSONファイルをフィルタリングする方法はありますか?配列の値に基づいてJSONデータをフィルタリングする

["c", "f"] 

とJSONオブジェクトファイル:

[{ 
    "a": 1, 
    "b": 2, 
    "c": 3, 
    "d": 4, 
    "e": 5, 
    "f": 6 

},{ 
    "a": 2, 
    "b": 4, 
    "c": 6, 
    "d": 8, 
    "e": 10, 
    "f": 12 
}] 

私は、次の結果を生成したいと思います:次の配列と例えば

[{ 
    "c": 3, 
    "f": 6 
},{ 
    "c": 6, 
    "f": 12 
}] 
+0

。 – Tomalak

答えて

4

あなたは可能性があり指定されたキーの値を新しいオブジェクトにマップします。

var keys = ["c", "f"], 
 
    data = [{ a: 1, b: 2, c: 3, d: 4, e: 5, f: 6 }, { a: 2, b: 4, c: 6, d: 8, e: 10, f: 12 }], 
 
    filtered = data.map(o => Object.assign(...keys.map(k => ({ [k]: o[k] })))); 
 

 
console.log(filtered);

0

あなたはこのためmap()reduce()を使用することができます。あなたの代わりに、質問のプログラミングの割り当てに来たのでDownvoted

var keys = ["c", "f"]; 
 
var arr = [{"a":1,"b":2,"c":3,"d":4,"e":5,"f":6},{"a":2,"b":4,"c":6,"d":8,"e":10,"f":12}]; 
 

 
var result = arr.map(o => { 
 
    return keys.reduce((r, k) => (o[k] && (r[k] = o[k]), r), {}) 
 
}) 
 

 
console.log(result)

関連する問題