我有这些数据
var foo = ['US','MX','NZ'];
var foo1 = [12',13',17];
var Object = {};
Run Code Online (Sandbox Code Playgroud)
我试过这个东西
var Object = {foo:foo1}
Run Code Online (Sandbox Code Playgroud)
但是当我使用alert(JSON.stringify(Object))排列对象时,它无法正常工作; 我看见:
{"foo":["12","13","17"]}
Run Code Online (Sandbox Code Playgroud)
我想要的是让它像这样:
var Object = {
"US":"12",
"MX":"13",
"NZ":17
}
Run Code Online (Sandbox Code Playgroud)
有什么方法可以让它看起来像这样吗?
您可以使用 .map 映射单个对象的对象Object.assign。
var keys = ['US', 'MX', 'NZ'],
values = ['12', '13', '17'],
object = Object.assign(...keys.map((k, i) => ({ [k]: values[i] })));
console.log(object);Run Code Online (Sandbox Code Playgroud)
一种较新的方法 Object.fromEntries
var keys = ['US', 'MX', 'NZ'],
values = ['12', '13', '17'],
object = Object.fromEntries(keys.map((k, i) => [k, values[i]]));
console.log(object);Run Code Online (Sandbox Code Playgroud)
使用迭代任何一个阵列的forEach并使用index检索从第二元件array.Also注意正方形的使用[] 括号&变量被命名为OBJ(它可以是任何东西),但避免Object
var foo = ['US', 'MX', 'NZ'];
var foo1 = [12, '13', 17];
var obj = {};
foo.forEach(function(item, index) {
obj[item] = foo1[index]
});
console.log(obj)Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
373 次 |
| 最近记录: |