JSFiddle - React, Tailwind, and code Playground
by karthick6891
HTML
<!-- map reduce-->
<!--
{ "1" : [{
"id": "1",
"name": "1s"
}, {
"id": "2",
"name": "T2s"
}],
"2" : [{
"id": "1",
"name": "1s"
}, {
"id": "2",
"name": "T2s"
}]
}
-->
JavaScript
var items = [{
"id": 1,
"name": "Primary",
"cap": [{
"id": "1",
"name": "1s"
}, {
"id": "2",
"name": "T2s"
}]
}, {
"id": 2,
"name": "Secondary",
"cap": [{
"id": "1",
"name": "1s"
}, {
"id": "2",
"name": "T2s"
}]
}];
//result
/*
{ "1" : [{
"id": "1",
"name": "1s"
}, {
"id": "2",
"name": "T2s"
}],
"2" : [{
"id": "1",
"name": "1s"
}, {
"id": "2",
"name": "T2s"
}]
}
*/
var ans = items.reduce(function(v, item) {
console.log("reduce accumulator initvalue",v)
console.log("reduce currentValue",item)
v[item.id] = item.cap;
return v;
}, {});
console.log(ans);
var ans1 = items.map(function(v, i) {
v[i.id] = i.cap;
return v;
});
console.log(ans1);
/*
var ans2 = items.forEach(function(v, i) {
console.log("foreach v",v)
console.log("foreach i",i)
}, {});
console.log(ans2);*/