vibhasbhingarde
7/10/2018 - 4:36 AM

Filter array objects based on selection conditions.

Filter array objects based on selection conditions.

var data = {"results":[{"answers":{"text":"A1"},"confidence":0.5,"name":"N1"},{"answers":{"text":"A2","type":"text"},"confidence":0.4,"name":"N2"},{"answers":{"text":"A3","type":"text"},"confidence":0.3,"name":"N3"},{"answers":{"text":"A4","type":"text"},"confidence":0.2,"name":"N4"},{"answers":{"text":"A5","type":"text"},"confidence":0.1,"name":"N5"}]};
// Version 1
var output = data.results.filter(ans => ans.confidence>0.2).map(ans => ({answer:ans.name,confidence:ans.confidence}));
// Version 2
var output = data.results.reduce((f,s)=>{
     if(s.confidence > 0.2) f.push({answer:s.name,confidence:s.confidence})
    return f;
},[]); 
// version 3
var output = data.results.reduce((f,s)=> s.confidence > 0.2? [...f,{answer:s.name,confidence:s.confidence}] :f,[]);

console.log(output);