Вы не должны использовать for .. in
для итерации массива # Ссылка
Вы можете изменить исходный код на это, исправив следующие проблемы
- Вы каждый раз подталкиваете значение к одному и тому же
newArray
, в то время как вам нужно каждый раз создавать новую переменную внутри карты - Вы ничего не возвращаете из своей функции
let data =[[{idStatus: 2, value: '120'},{idStatus: 3, value: '130'},{idStatus: 4, value: '140'},{idStatus: 5, value: '150'}],[{idStatus: 1, value: '160'},{idStatus: 2, value: '180'},{idStatus: 4, value: '10'},{idStatus: 5, value: '20'}],[{idStatus: 3, value: '567'},{idStatus: 6, value: '234'},{idStatus: 9, value: '747'},{idStatus: 7, value: '789'}],[{idStatus: 8, value: '340'},{idStatus: 5, value: '560'},{idStatus: 6, value: '120'},{idStatus: 2, value: '100'}],[{idStatus: 1, value: '106'},{idStatus: 5, value: '345'},{idStatus: 7, value: '756'},{idStatus: 9, value: '946'}]]
function getNewArray(){
const final = data.map(item =>{
const newArray = []
for(let i of item){
newArray.push(i.value)
}
return newArray
})
return final
}
console.log(getNewArray())
Вы можете использовать карту дважды
let data = {data:[[{idStatus: 2, value: '120'},{idStatus: 3, value: '130'},{idStatus: 4, value: '140'},{idStatus: 5, value: '150'}],[{idStatus: 1, value: '160'},{idStatus: 2, value: '180'},{idStatus: 4, value: '10'},{idStatus: 5, value: '20'}],[{idStatus: 3, value: '567'},{idStatus: 6, value: '234'},{idStatus: 9, value: '747'},{idStatus: 7, value: '789'}],[{idStatus: 8, value: '340'},{idStatus: 5, value: '560'},{idStatus: 6, value: '120'},{idStatus: 2, value: '100'}],[{idStatus: 1, value: '106'},{idStatus: 5, value: '345'},{idStatus: 7, value: '756'},{idStatus: 9, value: '946'}]]}
function getNewArray(){
const final= data.data.map(val=> val.map(({value})=>value))
return final
}
console.log(getNewArray())