JSFiddle - React, Tailwind, and code Playground
JavaScript
objs = [
{id:1, text:"a"},
{id:2, text:"b"},
{id:3, text:"c"},
{id:4, text:"d"}
]
idsArr = [2,4]
let idsToText = (idsArr, objs) => {
let foundObjs = [];
idsArr.forEach((id) => {
let foundObj = objs.find((obj) => obj.id === id)
if(foundObj) {
foundObjs.push(foundObj)
}
})
return foundObjs.map((obj) => obj.text)
}
let ids_to_text = (array_of_ids)=>{
if(array_of_ids.length===0) return null;
let objs_with_ids = objs.filter((obj)=>array_of_ids.includes(obj.id));
let text_array = objs_with_ids.map((obj)=>obj.text)
return text_array;
}
console.time('ids_to_text');
console.log(ids_to_text(idsArr));
console.timeEnd('ids_to_text')
console.time('idsToText');
console.log(idsToText(idsArr, objs));
console.timeEnd('idsToText');