Javascript 如何创建单个对象并在其中推送多个密钥对值?

Javascript 如何创建单个对象并在其中推送多个密钥对值?,javascript,jquery,arrays,json,object,Javascript,Jquery,Arrays,Json,Object,我正在尝试创建一个包含多个密钥对值的对象 我使用的值将来自一个API,我试图将响应转换为单个对象 我的代码: json_users.forEach(function (user){ var user_name = user.name; var object_user = {user_name: null}; temp_collection.push(object_user); }) 我想要的那种结果 {"key_1":val_1, "key_2", val_2} 我

我正在尝试创建一个包含多个密钥对值的对象

我使用的值将来自一个API,我试图将响应转换为单个对象

我的代码:

json_users.forEach(function (user){
    var user_name = user.name;
    var object_user = {user_name: null};

    temp_collection.push(object_user);
})
我想要的那种结果

{"key_1":val_1, "key_2", val_2}
我得到的结果

[{
    0: {
        .....
    }, 
    1: {
        .....
    }
}]
结果对象将是您所需要的。您可以使用user.id或类似的东西来代替“key”+(index+1)。这样,您将拥有一个用户字典,其中键将是id,值将是用户对象


结果对象将是您所需要的。您可以使用user.id或类似的东西来代替“key”+(index+1)。这样,您将拥有一个用户字典,其中键将是ID,值将是用户对象

您不应该使用
.push()
-这是创建数组。请尝试以下方法:

var temp_collection = {};
json_users.forEach((user, index) => temp_collection[`key_${index}`] = user.name);
这将遍历数组
json\u user
,并使用数组中每个对象的
name
属性向
temp\u集合
对象添加一个新属性

不过,上面确实使用了ES6箭头和模板文字,因此这里有一个更广泛接受的版本:

json_users.forEach(function(user, index) {
    temp_collection["key_" + index] = user.name;
})

您不应该使用
.push()
-这是在创建数组。请尝试以下方法:

var temp_collection = {};
json_users.forEach((user, index) => temp_collection[`key_${index}`] = user.name);
这将遍历数组
json\u user
,并使用数组中每个对象的
name
属性向
temp\u集合
对象添加一个新属性

不过,上面确实使用了ES6箭头和模板文字,因此这里有一个更广泛接受的版本:

json_users.forEach(function(user, index) {
    temp_collection["key_" + index] = user.name;
})

现在还不清楚你是从什么开始的。对象中的键是唯一的,因此在数组上循环并在同一对象上设置
user\u name
,只会设置一个
user\u name
。如果您能给出一个
json\u用户的例子,可能会有所帮助。如果您试图使用
user\u name
作为键,请将其放在括号
{[user\u name]:values}
中,请添加一个循环使用的代码示例,因为我们不知道您从何开始。我只是希望能够创建一个对象,该对象在推送时包含没有索引的值。比如`{“k1”:v1,“k2”:v2}如果{[[0]{“k1”:v1}[1]{“k2”:v2}}}@M.Duisenbayev已经回答了我的问题,但不清楚你是从什么开始的。对象中的键是唯一的,因此在数组上循环并在同一对象上设置
user\u name
,只会设置一个
user\u name
。如果您能给出一个
json\u用户的例子,可能会有所帮助。如果您试图使用
user\u name
作为键,请将其放在括号
{[user\u name]:values}
中,请添加一个循环使用的代码示例,因为我们不知道您从何开始。我只是希望能够创建一个对象,该对象在推送时包含没有索引的值。就像{“k1”:v1,“k2”:v2}如果{[[0]{“k1”:v1}[1]{“k2”:v2}}}@M.Duisenbayev已经回答了我的问题谢谢!这解决了我的问题。我对javascript非常陌生,因为我主要是用Java开发android应用程序,所以我不太熟悉如何很好地操作对象和数组。谢谢!这解决了我的问题。我对javascript非常陌生,因为我主要是用Java开发android应用程序,所以我对如何操作对象和数组不太熟悉。我的问题已经回答了,但我很确定你的答案也适用。谢谢你的详细解释。我的问题已经回答了,但我相信你的答案也行得通。也谢谢你详细的解释。