Можно ли проверить, есть ли строковое значение в структуре JavaScript Карта и, если это так, принять необходимое значение ключа?
Например:
let string = 'James never fly to Dubai'
let exampleMap = = new Map([
['Sasha', ' goes to school'],
['James', ' goes to college'],
['Kevin', ' goes to work'],
]);
if (string.includes(exampleMap.entries())) { //we get index value of match
/* and (string) James + (exampleMap[1])goes to college*/
}
На данный момент, я использую этот код:
for (let [value, index] of exampleMap.entries()) {
if (string.includes(value)) {
console.log(string + index);
}
}
Но согласно этой статье и соответствующий ответ для Object
там должен быть элегантным, но я не могу понять.
ОБНОВЛЕНО: Я хотел бы поблагодарить всех, кто предлагает свою идею ниже, я отмечаю этот вопрос как ответ, но давайте будем честными Существуют различные способы достижения необходимого результата. И моя оценка «принят как ответ» немного субъективна. Так что для всего сообщества Stackoverflow я считаю, что каждый предложенный вариант будет вознагражден их вкладом.