Check array of strings against array of objects and return something per each case

Solution 1:

First turn the array of objects into a structure that's easier to check through - perhaps a Map, or a Set of the values that are true. Then you can map the colors array and look up the associated value.

const colors = ["blue", "pink", "red", "green", "yellow", "orange", "white"];
const objColors = [{name:"pink", value: true}, {name:"green", value: true}, {name: "white", value: false}];


const trueColors = new Set(
  objColors
    .filter(({ value }) => value)
    .map(({ name }) => name)
);
const res = colors.map(color => trueColors.has(color));
console.log(res);

Solution 2:

An approach with an object.

const
    colors = ["blue", "pink", "red", "green", "yellow", "orange", "white"],
    objColors = [{ name: "pink", value: true }, { name: "green", value: true }, { name: "white", value: false }],
    wanted = Object.fromEntries(objColors.map(({ name, value }) => [name, value])),
    result = colors.map(c => !!wanted[c]);

console.log(result);