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

从键数组和值数组创建对象

凌征
2023-03-14

我有两个数组:newParamArrParamVal

newParamArr数组中的示例值:["Name","age","Email"]

paramVal数组中的值示例:[“Jon”,15,”jon@gmail.com“]

我需要创建一个JavaScript对象,将数组中的所有项放在同一个对象中。例如{[newParamArr[0]]:paramVal[0],[newParamArr[1]]:paramVal[1],…}

在这种情况下,结果应该是{Name:"Jon","age": 15,"Email":"jon@gmail.com"}

两个数组的长度始终相同,但数组的长度可以增加或减少。这意味着newParamArr。长度===参数值。长度将始终保持不变。

以下帖子都无法回答我的问题:

用于创建JSON对象的Javascript递归

递归循环对象以构建属性列表


共有3个答案

戚浩淼
2023-03-14

我知道这个问题已经有一年了,但这里有一个简单的解决方案:

Object.assign( ...newParamArr.map( (v, i) => ( {[v]: paramVal[i]} ) ) );
贾成天
2023-03-14

使用ECMAScript2015:

const obj = newParamArr.reduce((obj, value, index) => {
    obj[value] = paramArr[index];
    return obj;
}, {});

(编辑)以前误解OP需要数组:

const arr = newParamArr.map((value, index) => ({[value]: paramArr[index]}))
郭琨
2023-03-14
var keys = ['foo', 'bar', 'baz'];
var values = [11, 22, 33]

var result = {};
keys.forEach((key, i) => result[key] = values[i]);
console.log(result);
 类似资料:
  • 问题内容: 在Python中,可以向1构造函数传递一系列键值对: 除了为此目的定义我自己的函数外,我想不出其他任何方法来在JavaScript中执行此类操作: 但是我是JS新手…这种对对对象转换是否内置任何内容? 1出于这个问题的目的,我将Python字典视为JS对象的Python副本,尽管当然相似性仅限于它们都是键值集合这一事实。 问题答案: 在撰写本文时(2013年),JavaScript对象

  • 我有一个LinkedHashMap,我正在尝试拆分它的键和值,并引用键集中的特定键或值集中的值。例如,假设我有以下LinkedHashMap: 4 |2 3|1 我想要一个函数返回1,这是一个集合中索引为1的值,或者对于索引= 0返回2。对于另一个函数,我想得到键值为3,索引为1的键值。所以基本上从LinkedHashMap创建一个只有值/键的数组,然后在这个数组中寻找某个给定的位置。我的代码如下

  • 问题内容: 我试图传递包含键和值的数组。 键是列,值是要选择的值。 我试图编写一个函数,可以传递数组并将键和值用作表的列和值。例如: 我需要这样创建sql语句: 问题答案: 您可以构建一个简单的SQL Select,如下所示:

  • 问题内容: 我有一个像这样的清单: 但是更大了,所以我需要一种有效的方法来使它变成像这样的树: 我不能使用诸如嵌套集之类的东西,也不能使用诸如becoas之类的东西,因为我可以在数据库中添加左右值。有任何想法吗? 问题答案: 哦,这就是我解决的方法:

  • 问题内容: 如何在Android中以这种格式创建JSON:由于我将传递的API将解析JsonArray,然后解析该对象。还是只传递一个json对象就可以了吗?因为我只需要在每个服务调用中插入1个事务即可。 我所知道的只是JSONObject。像这个。 有任何想法吗。谢谢 问题答案: 使用以下代码:

  • 我在创建包含自定义对象数组的数组时遇到了问题。 出于多种原因,我希望将容器创建为可比较数组的标准数组: 其中包含的每个自定义对象数组必须具有不同的长度 自定义对象数组内置了自动排序工具,这些工具不适合我希望它们适合的较大包含数组 自定义对象数组可以工作,并且已经过彻底测试。 我在创建较大对象时收到的例外情况是: 线程“main”中出现异常java.lang.ClassCastException: