¿Cómo obtener un objeto basado en dos matrices, donde los valores en el primero son únicos y en el segundo cualquiera, donde la clave será una palabra y el valor es el número de coincidencias de esta palabra?
Por ejemplo:
let uniqueArray = ['green', 'blue', 'red'];
let anyArray = ['red', 'green', 'red', 'blue, 'yellow', 'green', 'pink', 'red'];
Obtenemos:
{'green': 2, 'blue': 1, 'red': 3}
Entonces, desea contar las ocurrencias en anyArray de entradas en uniqueArray .
Puedes hacer esto usando un reduce :
let uniqueArray = ['green', 'blue', 'red']; let anyArray = ['red', 'green', 'red', 'blue', 'yellow', 'green', 'pink', 'red']; const result = uniqueArray.reduce((data, key) => { data[key] = anyArray.filter(x => x === key).length; return data; }, {}); console.log(result);