entonces, lo que he estado tratando de lograr es que si itero sobre arr y string y si tienen las mismas letras, entonces se debe realizar alguna acción, por ejemplo, if ("both string and array have the same letters"){ "some action" }
const word = "hello"; const arr = ["o", "l", "e", "h"];const word = "hello"; const arr = ["o", "l", "e", "h"]; const uWord = [...new Set(word)].sort().join() const uArr = [...new Set(arr)].sort().join() if (uWord === uArr) { // do something }Aquí está con el tiempo lineal O (n). Compruebe si ambos elementos tienen los mismos caracteres y cuentan los mismos caracteres.
const isMatch = (arr, word, track = {}) => { arr.forEach((char) => (track[char] = (track[char] ?? 0) + 1)); [...word].forEach((char) => (track[char] = (track[char] ?? 0) - 1)); return !Object.values(track).some((val) => val < 0); }; console.log(isMatch(["o", "l", "e", "h"], "hello")); console.log(isMatch(["o", "l", "e", "h", "l"], "hello")); console.log(isMatch(["o", "o"], "lo"));