Map and Reduce a JSON Object with JavaScript
14,910
Could you try my code below:
var item = {
"_items": [{
"_id": "player_1",
"score": {
"a": -4.74,
"b": 0.71,
"c": -4.04,
"d": 3.37,
"e": 0.22,
"f": 1.09,
"g": -2.17
}
},
{
"_id": "player_2",
"score": {
"a": -4.74,
"b": 0.71,
"c": -4.04,
"d": 3.37,
"e": 0.22,
"f": 1.09,
"g": -2.17
}
}
]
};
let arrayScores = item._items.map(el => el.score);
console.log(arrayScores);
There is the arrayScores value:
[{
a: -4.74,
b: 0.71,
c: -4.04,
d: 3.37,
e: 0.22,
f: 1.09,
g: -2.17
}, {
a: -4.74,
b: 0.71,
c: -4.04,
d: 3.37,
e: 0.22,
f: 1.09,
g: -2.17
}]
Does it make sense ?
Author by
user2243952
Updated on June 04, 2022Comments
-
user2243952 almost 2 years
Consider this object below:
{ "_items": [ { "_id": "player_1", "score": { "a": -4.74, "b": 0.71, "c": -4.04, "d": 3.37, "e": 0.22, "f": 1.09, "g": -2.17 } } ] }
I would to Map and Reduce and generate a new object containing only the score object :
{ "a": -4.74, "b": 0.71, "c": -4.04, "d": 3.37, "e": 0.22, "f": 1.09, "g": -2.17 }
I was thinking something like this might be moving in the right directions, but does not seem to do what I was expecting:
this.service.getscore() .map(res => res.json()) .map(v => v._items[0].score) .subscribe(data => { this.sc = data });
console.log(this.sc);
will give me the same result as the first json.While I recognize that it is probably better and easier to do this on the server-side, it's not possible in my case. I am wondering if what I am trying to do can be done on the client side with JavaScript. Any suggestions?