Модуль экспортирует поиск объектов и получение элементов node.js

У меня есть этот файл с именем 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"

Как я могу сделать эти две вещи:

  1. Проверьте, равен ли char этим «ключам» или индексам, поэтому левая сторона.

  2. Во-вторых, если да, я хочу получить соответствующее значение, поэтому правая сторона.

1- if (char in Object.keys(emojis)) 2- emojis[char]

BlackMath 10.12.2020 19:55

Разве это не должно быть const { emojis } = require ...., поскольку экспортируется { emojis: { ... } } ?

Taplar 10.12.2020 19:56
if (emojis[char]) { const emodji = emojis[char] }?
Anatoly 10.12.2020 19:58
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
1
3
66
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

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;
   }
 })
  1. Вы можете получить доступ к значению справа, сделав это 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}'`);
  }
});

Другие вопросы по теме