У меня есть этот файл с именем file.js
:
module.exports = {
emojis
}
const emojis = {
"a": "🇦",
"b": "🇧",
"c": "🇨",
"d": "🇩",
"e": "🇪",
"f": "🇫",
"g": "🇬",
"h": "🇭",
"i": "🇮",
"j": "🇯",
"k": "🇰",
"l": "🇱",
"m": "🇲",
"n": "🇳",
"o": "🇴",
"p": "🇵",
"q": "🇶",
"r": "🇷",
"s": "🇸",
"t": "🇹",
"u": "🇺",
"v": "🇻",
"w": "🇼",
"x": "🇽",
"y": "🇾",
"z": "🇿",
}
Я импортировал его с помощью const emojis = require("../file.js")
Допустим, у меня есть персонаж const char = "p"
Как я могу сделать эти две вещи:
Проверьте, равен ли char этим «ключам» или индексам, поэтому левая сторона.
Во-вторых, если да, я хочу получить соответствующее значение, поэтому правая сторона.
Разве это не должно быть const { emojis } = require ....
, поскольку экспортируется { emojis: { ... } }
?
if (emojis[char]) { const emodji = emojis[char] }
?
const { emojis } = require("../file.js")
const char = "p";
if (char in emojis){
let rightvalue = emojis[char];
}
вы импортировали смайлики и у вас есть переменная с именем char.
1. Поскольку emojis — это объект, и вы хотите увидеть, равен ли char какой-либо клавише в объекте emojis, который вы можете использовать Object.keys(emojis)
, и он возвращает массив, чтобы вы могли перебирать его с помощью цикла forEach
или цикла for и сравнивать каждое значение в массиве, возвращаемом Object.keys
в вашу переменную char, и если он равен любому сохранению в переменной, давайте назовем его значением, например
вот как ===
const char = "p"
let value;
Object.keys(emojis).forEach(x=>{
if (x===char){
value=x;
}
})
emojis[value]
Вы также можете использовать цикл for..in то есть
for(x in emojis){
if (x === char){
value = x;
// x will the the name a property if you wish to access the value you'll
//have to do this emojis[x] or outside the loop emojis[value]
}
}
Поскольку вы экспортируете объект, который по сути является картой, вы можете просто искать символы, поскольку они относятся к ключам объекта. Рассмотрим этот простой пример:
const emojis = {
"a": "🇦",
"b": "🇧",
"c": "🇨",
"d": "🇩"
};
function findKey(key, map) {
return map[key];
}
const keys = ["c", "p"];
keys.forEach(key => {
const mappedValue = findKey(key, emojis);
if (mappedValue) {
console.info(`found value '${mappedValue}' for key '${key}'`);
}else {
console.info(`did not find value for key '${key}'`);
}
});
1-
if (char in Object.keys(emojis))
2-emojis[char]