Skip to content

Instantly share code, notes, and snippets.

@vibhasbhingarde
Last active July 10, 2018 05:56
Show Gist options
  • Save vibhasbhingarde/4baff55553e584027303bba4aa270f65 to your computer and use it in GitHub Desktop.
Save vibhasbhingarde/4baff55553e584027303bba4aa270f65 to your computer and use it in GitHub Desktop.
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);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment