当前位置: 首页 > 知识库问答 >
问题:

如何使用JavaScript动态创建对象?

濮阳和泰
2023-03-14

我试图从字符串数组中创建一个新对象,但无法正确创建所需的对象。

我正在尝试创建一个对象,比如:

{
  "Employee1": {
    "id": "Employee1"
  },
  "Employee2": {
    "id": "Employee2"
  }
}

这是我的代码:

null

function listToItemById(qsList, key = "id") {
  const result = {};
  qsList.forEach((item) => {
    result[item][key] = item;
  });

  return result;
}

console.log(listToItemById(["Employee1", "Employee2", "Employee3", "Employee4", "Employee5", "Employee6", "Employee7", "Employee8"]));

null

共有2个答案

柏阳炎
2023-03-14
employes.reduce((obj, emp) => {
    if(typeof(obj) === "string") {
        var temp = {}
        temp[obj] = {id:obj}
        obj = temp;
    }
    obj[emp] ={id:emp};
    return obj;
})
窦弘义
2023-03-14

是的。

首先,我们必须将result[item]设置为{}(一个新的空对象):

null

function listToItemById(qsList, key = "id") {
  const result = {};

  qsList.forEach((item) => {
    result[item] = {};
    result[item][key] = item;
  });

  return result;
}

console.log(listToItemById(["Employee1", "Employee2", "Employee3", "Employee4", "Employee5", "Employee6", "Employee7", "Employee8"]));
 类似资料:
  • 问题内容: 首先,我使用Cheerio进行一些DOM访问并使用Node.js进行解析。美好的时光。 情况如下: 我具有创建对象所需的功能。该对象为其键和值使用变量,然后返回该单个对象。例: 它输出: (返回对象fyi的数组) 我实际上需要成为的字符串。 考虑到我要做什么,在Java中将字符串分配为键的最佳方法是什么? 问题答案: 在JavaScript 的新ES2015标准(以前称为ES6)中,可

  • 我试图使用wro4j创建这个基础结构,用户可以通过它来决定绑定哪些js文件,只需编辑模板,而不需要接触任何Java代码。因此,像http://.../bundle/scrip1.js/scrip2.js/script3.js/script4.js这样的请求将返回一个按要求顺序包含所有四个脚本的包。 但是,必须事先以xml或自定义WroModelFactory实现指定具有资源的组,这仍然不能提供足够

  • 问题内容: 基本上这就是问题,应该如何用javascript动态地从HTML字符串构造一个Document对象? 问题答案: 规范中定义了两种方法,分别2和HTML5。前者创建一个XML文档(包括XHTML),后者创建一个HTML文档。两者都作为功能驻留在接口上。 实际上,这些方法还很年轻,仅在最近的浏览器版本中实现。根据http://quirksmode.org和MDN的说明,以下浏览器支持:

  • 我有多个动态json模板如下 JSON 1 JSON 2 JSON 3 我想在运行时将它们隐藏到JAVA对象中,即在编译时不创建POJO。这可能吗?如果是,如何做到这一点? 我尝试使用Jackson lib将json转换为对象(对象类),但如何创建通用POJO,或者如何使用setter-getter动态创建POJO?

  • 本文向大家介绍JavaScript如何动态创建table表格,包括了JavaScript如何动态创建table表格的使用技巧和注意事项,需要的朋友参考一下 两种JavaScript动态创建table表格的方法,分享给大家,具体实现如下 方法一:最原始的方法,创建一一元素 方法二:利用table对象里面含有的函数:插入行和插入列 动态的创建和删除: 创建表格,通过输入的值: 删除行: 删除列: 完整

  • 问题内容: 我正在尝试运行JMeter脚本,但登录失败。原因是,密码是使用RSA算法(即使用javascript)进行加密的。因此在录制时保存的密码将无法使用,并且由于使用JMeter不支持的javascript对其进行加密,因此无法获得加密密码的动态值。由于运行时使用javascript,因此我无法使用正则表达式查找响应数据,因为这不是响应的一部分。 我试图登录到Tableau报表服务器。 问题