Как создать один объект и вставить несколько значений пары ключей внутрь? - PullRequest
0 голосов
/ 06 января 2019

Я пытаюсь создать объект с несколькими значениями пары ключей внутри.

Используемые мной значения будут получены из 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: {
        .....
    }
}]

Ответы [ 2 ]

0 голосов
/ 06 января 2019

Не следует использовать .push() - это создание массива. Попробуйте вместо этого:

var temp_collection = {};
json_users.forEach((user, index) => temp_collection[`key_${index}`] = user.name);

Это повторяет массив json_user и добавляет новое свойство к объекту temp_collection со свойством name каждого объекта в массиве.

Выше все же использует стрелки ES6 и литералы шаблонов, так что вот более распространенная версия:

json_users.forEach(function(user, index) {
    temp_collection["key_" + index] = user.name;
})
0 голосов
/ 06 января 2019
var resultObject = {};
json_users.forEach(function (user, index){
    var user_name = user.name;
    var object_user = {user_name: null};

    resultObject["key" + (index + 1)] = object_user;
});

resultObject будет то, что вам нужно. Вместо «ключ» + (индекс + 1) вы можете использовать user.id или что-то в этом роде. Таким образом, у вас будет словарь пользователей, где ключи будут идентификаторами, а значения будут объектами пользователей

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...