У меня есть массив, который выглядит следующим образом:
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)