模块导出对象搜索和获取项目 node.js

Posted

技术标签:

【中文标题】模块导出对象搜索和获取项目 node.js【英文标题】:module exports object searching and getting items node.js 【发布时间】:2021-03-22 05:35:30 【问题描述】:

我有这个文件叫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 是否等于和那些“键”或索引,所以左边。

    第二个如果是的话,我想得到合适的值,所以右边。

【问题讨论】:

1- if(char in Object.keys(emojis)) 2- emojis[char] 不应该是const emojis = require ....,因为导出的东西是 emojis: ... if(emojis[char]) const emodji = emojis[char] ? 【参考方案1】:

const  emojis  = require("../file.js")
const char = "p";

if(char in emojis)
 let rightvalue = emojis[char];


【讨论】:

【参考方案2】:

您已经导入了表情符号,并且您有一个名为 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]
 

【讨论】:

【参考方案3】:

由于您导出本质上是地图的对象,因此您可以简单地查找字符,因为它们引用对象的键。考虑这个简单的例子:

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.log(`found value '$mappedValue' for key '$key'`);
  else 
    console.log(`did not find value for key '$key'`);
  
);

【讨论】:

以上是关于模块导出对象搜索和获取项目 node.js的主要内容,如果未能解决你的问题,请参考以下文章

Node.js简介

Node.js 入门

Node.jsNode.js的安装

node基础1--初识Node.js与内置模块

快速入手node.js

node.js中文资料导航