У меня есть массив, который выглядит так:
let movies = [
'terminator.1',
'terminator.2',
'terminator.3',
'harry-potter.1',
'harry-potter.3',
'harry-potter.2',
'star-wars.1'
]
и я хотел бы иметь такой объект:
{
"terminator": [1,2,3],
"harry-potter": [1,2,3],
"star-wars": [1]
}
до сих пор я могу иметь такой объект
{
{ terminator: [ '1' ] },
{ terminator: [ '2' ] },
{ terminator: [ '3' ] },
{ 'harry-potter': [ '1' ] },
{ 'harry-potter': [ '3' ] },
{ 'harry-potter': [ '2' ] },
{ 'star-wars': [ '1' ] }
}
Я хотел бы знать, есть ли способ проверить во время Array.map, когда я генерирую свой объект, если уже есть определенный ключ, и если есть возможность вставить значение в соответствующий массив вместо создания нового ключа- пара значений.
Это код, который я сейчас использую для своего решения. Заранее спасибо.
let movies = [
'terminator.1',
'terminator.2',
'terminator.3',
'harry-potter.1',
'harry-potter.3',
'harry-potter.2',
'star-wars.1'
]
let t = movies.map(m => {
let [name, number] = [m.split('.')[0],m.split('.')[1]]
return {[name]: [number]}
})
console.log(t)