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);*/