一尘不染

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

javascript

在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副本,尽管当然相似性仅限于它们都是键值集合这一事实。


阅读 375

收藏
2020-05-01

共1个答案

一尘不染

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

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


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

2020-05-01