当前位置: 首页 > 面试题库 >

如何从键值对数组创建对象?

奚才良
2023-03-14
问题内容

在Python中,可以向dict1构造函数传递一系列键值对:

>>> dict([['name', 'Bob'], ['age', 42], ['breakfast', 'eggs']])
{'age': 42, 'name': 'Bob', 'breakfast': 'eggs'}

除了为此目的定义我自己的函数外,我想不出其他任何方法来在JavaScript中执行此类操作:

function pairs_to_object(pairs) {
    var ret = {};
    pairs.forEach(function (p) { ret[p[0]] = p[1]; });
    return ret;
}

但是我是JS新手…这种对对对象转换是否内置任何内容?

1出于这个问题的目的,我将Python字典视为JS对象的Python副本,尽管当然相似性仅限于它们都是键值集合这一事实。


问题答案:

在撰写本文时(2013年),JavaScript对象/字典/关联数组本身没有这样的构造函数。

就像您自己说的那样,您当然可以使用其他方法reduce之一中解释的使用函数的方法来构建自己的函数。当然,经典的for或更新的forEach循环也可以使用。但是没有内置的东西。

编辑 :这是2019年,现在我们有Object.fromEntries,它将为您提供所需的内容。



 类似资料:
  • 我有两个数组:和。 数组中的示例值:。 数组中的值示例:。 我需要创建一个JavaScript对象,将数组中的所有项放在同一个对象中。例如

  • 问题内容: 我有一个2D整数数组。我希望将它们放入HashMap中。但是我想从基于数组索引的HashMap访问元素。就像是: 对于A [2] [5],它返回与该键关联的值。但是,如何使用一对密钥创建一个hashMap?或者通常是多个键:以一种我可以使用get(key1,key2,… keyN)来访问元素的方式。 编辑:发布问题3年后,我想再添加一点 我遇到了另一种方法。 数组索引,和可被表示为一个

  • 根据给定的键值对创建一个对象。 使用 Array.reduce() 来创建和组合键值对。 const objectFromPairs = arr => arr.reduce((a, v) => ((a[v[0]] = v[1]), a), {}); objectFromPairs([['a', 1], ['b', 2]]); // {a: 1, b: 2}

  • 我对Spark流媒体还不熟悉。有一个项目使用Spark Streaming,输入是一个键值对字符串,比如“productid,price”。 要求将每一行作为单独的事务处理,并使RDD每1秒触发一次。 在每个时间间隔内,我必须计算每个产品的总价格,比如 我目前的想法是,我必须执行以下步骤1)使用val lineMap=lines拆分整行。映射{x= 2)拆分每行,val记录Map=lineMap.

  • 我有一个对象数组,如下所示: 我想把它添加到一个退出的对象中,其中id是该对象的一个键,如下所示:

  • 问题内容: 通过下面的代码运行时,我得到一个。 我该如何解决? 问题答案: 您为月份使用了错误的日期格式,也应使用与日期中相同的定界符。 如果日期字符串的格式 对模式使用相同的定界符 如果您的日期字符串的格式 在模式中使用相同的定界符“-” 应该 从 SimpleDateFormat文档 MM —>一年中的一个月 毫米->分钟