Я пытаюсь заполнить диаграмму, поэтому я получаю данные в 2 списка, чтобы сделать это.Карта Javascript не является функцией, которая пытается читать данные.
Это данные:
var data = [{
"id": "622",
"name": "some name",
"boats": {
"637": {
"id": "637",
"name": " Subcat 1",
"translations": null
},
"638": {
"id": "638",
"name": "Subcat 2",
"translations": null
}
},
"image": "73e043a7fae04b55855bede22da6286b"
}];
И я бегу этот код для того, чтобы заполнить списки:
var chList = [];
var boatList = [];
var boatCount = [];
for (var i = 0; i < data.length; i++) {
var obj = data[i];
var cl = obj.name + " [" + obj.id + "]";
if (obj.boats != null) {
chList.push(cl);
}
if(obj.boats) {
var nme = obj.boats.map(function(item){
return item.name;
});
boatList = boatList.concat(nme);
boatCount.push(nme.length);
}
}
console.log(boatList);
console.log(boatCount);
Моя проблема заключается в том, что я получаю:
TypeError: obj.boats.map не является функцией
Как это исправить?
Примечание: данные на самом деле это:
{
"id": "622",
"name": "some name",
"boats": {
"637": {
"id": "637",
"name": " Subcat 1",
"translations": null
},
"638": {
"id": "638",
"name": "Subcat 2",
"translations": null
}
},
"image": "73e043a7fae04b55855bede22da6286b"
};
Но я добавил [а] к нему для того, чтобы использовать data.length и списки, где пусто тоже ... Должен ли я затем оставить это данные как есть?
Я добавил примечание к вопросу, который мог бы мне знать – kevinj2017
ES6: Object.keys (obj.boats) .map (k => obj.boats [k] .name) –