Вам необходимо преобразовать ассоциативный массив в массив, поскольку JS не имеет такого типа.
И ваши внутренние данные тоже недействительны
data: 0: [{age: 24}, {icon: "04d"}]
// This is not a valid structure
Вам нужно удалить ключи из массива:
const weather_data_info = [
{name: "John", data: {0: [{age: 24}, {icon: "04d"}]}},
{name: "Vicky",data: {0: [{age: 25}, {icon: "06d"}]}},
{name: "John2",data: {0: [{age: 26}, {icon: "05d"}]}},
{name: "John3",data: {0: [{age: 27}, {icon: "09d"}]}},
];
Или, если вы хотите использовать index
ключи как ID
, вы можете преобразовать его в объект и использовать Object.values()
или Object.keys()
чтобы перебрать его:
const data = {
0: {name: "John", data: {0: [{age: 24}, {icon: "04d"}]}},
1: {name: "Vicky",data: {0: [{age: 25}, {icon: "06d"}]}},
2: {name: "John2",data: {0: [{age: 26}, {icon: "05d"}]}},
4: {name: "John3",data: {0: [{age: 27}, {icon: "09d"}]}},
};
const weather_data_info = Object.keys(data).reduce((acc, key) => {
acc.push({...data[key], id: key});
return acc;
},[]);
console.log(weather_data_info)