У меня есть вопрос, касающийся функции в Javascript:
Я просто сравниваю входной массив с другим и возвращаю что-то в зависимости от результата, но по какой-то причине мое сравнение не работает ...
вот моя функция:
const createArrayColor = (labels) => {
const combi = [
["bronze","gold","new","silver"],
["bronze","gold","silver"],
["gold","new","silver"],
["bronze","gold","new"],
["bronze","new","silver"],
["gold","silver"],
["bronze","gold"],
["gold","new"],
["bronze","silver"],
["new","silver"],
["bronze","new"],
["gold"],
["silver"],
["bronze"],
["new"],
];
const color = [
["#614E1A","#c49c48", "#f4f3f3", "#A5A49B"],
["#614E1A", "#c49c48", "#A5A49B"],
["#c49c48", "#f4f3f3", "#A5A49B"],
["#614E1A", "#c49c48", "#f4f3f3"],
["#614E1A", "#f4f3f3", "#A5A49B"],
["#c49c48", "#A5A49B"],
["#614E1A", "#c49c48"],
["#c49c48", "#f4f3f3"],
["#614E1A", "#A5A49B"],
["#f4f3f3", "#A5A49B"],
["#614E1A", "#f4f3f3"],
["#c49c48"],
["#A5A49B"],
["#614E1A"],
["#f4f3f3"],
];
let i = 0;
combi.forEach((c) => {
console.log("Color: " + color[i]);
console.log("Combi: " + c + " ,type: " + c.constructor.name );
console.log("labels: " + labels + " ,type: " + labels.constructor.name );
console.log("Is it equal? " + (labels === c));
if (labels === c) {
return color[i];
}
i = i + 1;
})
}
(кстати, если вы знаете, как создать комбинацию массива в JS, я бы тоже хотел это знать, я 'Я уверен, что есть лучший способ сделать это, что я и сделал, но я не нашел его)
Итак, как вы можете видеть, я сравниваю labels
с каждым элементом combi
, но это всегда false
...
Я думаю, что я где-то допустил небольшую ошибку, но не могу ее найти ...