![]() |
1
391
ECMAScript 6引入了易填充的
自己的
另外,你可以使用ES6 spread syntax 为了达到同样的效果:
|
|
2
467
有这样的功能:
您的数组已经或多或少只是一个对象,但是数组在整数命名属性方面确实有一些“有趣的”和特殊的行为。上面会给你一个简单的对象。 编辑 哦,你可能还想解释数组中的“洞”:
在现代JavaScript运行时中,可以使用
这个也避免了数组中的“洞”,因为这就是
|
![]() |
3
259
你可以用一个累加器
传递空对象
如果数组是一组键值对对象:
将产生:
为了完整起见,
将产生:
您的累加器可以是任何类型的,用于特定用途。例如,为了交换数组中对象的键和值,请传递
将产生:
不像
将产生:
注意安全
:
查看默认实现 Mozilla . |
![]() |
4
100
如果使用jquery:
|
![]() |
5
57
为了完整起见,ECMAScript 2015(ES6)正在传播。需要一个transpiler(巴别塔)或至少运行ES6的环境。
|
![]() |
6
46
我可能会这样写(因为我很少手头没有下划线库):
|
![]() |
7
26
这里有一个O(1)ES2015方法,只是为了完整性。
|
![]() |
8
23
惊讶地看不见-
|
![]() |
9
21
我们可以利用
|
![]() |
10
17
在现代JavaScript中,使用
|
![]() |
11
17
我最终使用了object spread操作符,因为它是ECMAScript 2015(ES6)标准的一部分。
做了以下事情 fiddle 作为一个例子。 |
![]() |
12
10
五年后,有一个好办法:)
|
![]() |
13
9
您可以使用spread运算符
|
![]() |
14
9
如果使用ES6,则可以使用Object.assign和spread运算符
如果有嵌套数组
|
![]() |
15
9
使用
使用ECMA6:
|
![]() |
16
9
对于ES2016,对象的spread运算符。注:这是 之后 ES6和so开卷机需要调整。
|
![]() |
17
8
FWIW,另一个最近的方法是使用新的
…它允许避免将稀疏数组项存储为
不妨补充一点
|
![]() |
18
5
又快又脏的:
|
|
19
4
又快又脏#2:
|
![]() |
20
4
从Lodash 3.0.0开始,您可以使用 _.toPlainObject
|
![]() |
21
3
这允许您从数组中生成一个对象,该对象具有按所需顺序定义的键。
下面是一个更新的方法
|
![]() |
22
3
这是我刚刚写的递归函数。很简单,效果很好。
这里有一个例子( jsFiddle ):
结果:
|
![]() |
23
3
[文档] 或更详细
或
最短配香草JS
一些更复杂的例子
甚至更短(通过使用
[/docs] |
![]() |
24
3
我只想用
所以我们可以
利用
|
![]() |
25
3
如果你能使用
创建数组:
下面创建一个索引为键的对象:
使用映射复制上述内容
转换为基于索引的对象
转换为基于值的对象
|
![]() |
26
2
或使用
|
![]() |
27
2
ES5-解决方案: 使用 阵列 原型函数 '推' 和 '应用' 可以用数组元素填充对象。
|
![]() |
28
1
您可以使用这样的函数:
这个应该更有效地处理稀疏数组。 |
![]() |
29
1
这里有一个咖啡脚本的解决方案
|
![]() |
30
1
如果您使用的是angularjs,那么可以使用angular.extend,与jquery的$.extend效果相同。
|
|
AlaaKudo810 · 无法更新猫鼬中的对象 1 年前 |
![]() |
Foobar · 如何在Fastify中为请求附加“项目”密钥? 1 年前 |
![]() |
chrispytoes · 从服务器端获取登录用户 1 年前 |