Il secondo metodo sicuramente è più leggibile, entrambi sfruttano il metodo String.prototype.split() però il secondo come vedi restituisce un array di oggetti.
codice:
const testArray = [
"A - 1 - rosso",
"B - 2 - giallo",
"C - 3 - blu"
]
// metodo 1
const data = testArray.map(e => e.split('-'))
const a = data[0][0]
const uno = data[0][1]
const rosso = data[0][2]
console.log(a, uno, rosso)
// metodo 2
const data2 = testArray.map(e => {
const splitStr = e.split('-')
return {
serie: splitStr[0],
cat: splitStr[1],
colore: splitStr[2]
}
})
const a2 = data2[0].serie
const uno2 = data2[0].cat
const rosso2 = data2[0].colore
console.log(a2, uno2, rosso2)