У меня есть следующий код:
var nameData = [{id: "1", name: "George,Steve,Andy"},{id: "2", name: "Andy,Bradley"},{id: "3", name: "George"},{id: "4", name: "Joseph,Julia"}]
var newNames = []
for (var c=0; c<nameData.length; c++) {
//create an array of names
var names = nameData[c].name.toString().split(",")
//loop through the name array and for each name add a new entry in the newNames array
for (var n=0; n<names.length; n++) {
newNames.push(nameData[c])
newNames[newNames.length-1].name = names[n]
}
}
Мой вывод здесь следующий:
0: {id: "1", name: "Andy"}
1: {id: "1", name: "Andy"}
2: {id: "1", name: "Andy"}
3: {id: "2", name: "Bradley"}
4: {id: "2", name: "Bradley"}
5: {id: "3", name: "George"}
6: {id: "4", name: "Julia"}
7: {id: "4", name: "Julia"}
Однако, мой желаемый результат будет таким:
0: {id: "1", name: "George"}
1: {id: "1", name: "Steve"}
2: {id: "1", name: "Andy"}
3: {id: "2", name: "Andy"}
4: {id: "2", name: "Bradley"}
5: {id: "3", name: "George"}
6: {id: "4", name: "Joseph"}
7: {id: "4", name: "Julia"}
Что-то не так с назначением атрибута name
в цикле. Все записи из одного id
получают фамилию в атрибуте name
. Почему это так и как получить желаемый результат?