I have an array as follows:
var data = [
{code: '1', name: 'aa'},
{code: '20', name: 'bb'},
{code: '30', name: 'cc'},
{code: '123', name: 'dd'}
]
I expect the new array to look like this:
var newData = [
{status: '1', code: '1', name: 'aa'},
{status: '2', list: [
{code: '20', name: 'bb'},
{code: '30', name: 'cc'}
]},
{status: '3', code: '123', name: 'dd'}
]
console.log(newData)
I tried to use a for loop, but the code is quite repetitive:
var temp = []
var list = []
for(var item in data){
if (data[item].code === '1') {
temp.push({
status: '1',
code: data[item].code,
name: data[item].name
})
}
if (data[item].code === '20' || data[item].code === '30') {
list.push(data[item])
temp.push({
status: '2',
list: list
})
}
if (data[item].code === '123') {
temp.push({
status: '3',
code: data[item].code,
name: data[item].name
})
}
}
statusproperty come from? Are you really supposed to hard-code it for1,20/30, and123?