добавить пары ключ-значение к объекту из массива - Javascript - PullRequest
0 голосов
/ 23 ноября 2018

Как я могу автоматизировать процесс присвоения ключа объекту из массива и значения , содержащего того же элемента как строка?


У меня есть пустой объект и массив:

const myObject= {};

const newsCategory = ['business', 'entertainment', 'general', 'health', 'science'];

Мне нужно заполнить объект с парами ключ-значение.

Ключ должен быть каждым элементом из массива newsCategory .

Значение должен быть экземпляром другого объекта.

new GetNews({country: 'gb', category: newsCategory[element]});

Я могу сделать это вручную, назначив каждой категории индивидуально:

myObject.business = new GetNews({country: 'gb', category: newsCategory ['business']});

... и то жедо остальных категорий.

Результат будет

{
    business: GetNews {
                category: "business"
                country: "gb"
                }
    entertainment: GetNews {
                category: "entertainment"
                country: "gb"
                }
    general: GetNews {
                category: "general"
                country: "gb"
                }
    health: GetNews {
                category: "health"
                country: "gb"
                }
    science: GetNews {
                category: "science"
                country: "gb"
                }
    
}

Мне нужно сделать этот процесс автоматически, например, с циклом.

Это моя попытка, но онане работает.

newsCategory.forEach((category) => {
        let cat = String.raw`${category}`; //to get the raw string
         myObj.cat = new GetNews({country: 'gb', category: category});
    })
};

/*
output: 

{cat: "undefined[object Object][object Object][object Obj…ect][object Object][object Object][object Object]"}
*/

Как автоматизировать процесс назначения клавиши для объекта из массива и значение содержит тот же элемент в виде строки?

1 Ответ

0 голосов
/ 23 ноября 2018

Вместо myObj.cat вы должны сделать myObj[cat], чтобы cat оценивалось как значение ключа, в противном случае вы устанавливаете ключ с именем "cat".

Также String.raw странноНе используйте это.Ваши категории уже являются строками.

newsCategory.forEach((category) => {
        myObj[category] = new GetNews({country: 'gb', category: category});
    })
};
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...