{
brandBrandId: {
brandId: 2,
brandName: "Hikka",
isGun: true
},
modelId: "1",
modelName: "Hikka model"
}, {
brandBrandId: {
brandId: 3,
brandName: "Bebrand",
isGun: true
},
modelId: "2",
modelName: "Bebrand model 1"
}, {
brandBrandId: {
brandId: 2,
brandName: "Hikka",
isGun: true
},
modelId: "3",
modelName: "Hikka model2"
}
javascript
var models = $scope.models;
console.log("selectedBrand---->" + selectedBrand);
for (var i = 0; i < models.length; i++) {
console.log(i+" : " +[i].brandBrandId.brandId)//ERROR HERE!
Error TypeError: Cannot read property 'brandId' of undefined
Question
How can I search models under the brand 2 with JavaScript? Like give me every model which has brandId=2
. I was trying to for loop it, but I really can't do it and I hope that there is some better and wiser way to do it. I need every modelId
and modelName
under the specific brand. THANKS!
Solution
function getModels() {
var brandsmodels=new Array();
for (var i = 0; i < models.length; i++) {
if (models[i].brandBrandId.brandId === selectedBrand) {
brandsmodels.push({
"modelId": ""+models[i].modelId,
"modelName": ""+models[i].modelName,
"brandId": ""+selectedBrand
});
}
}
$scope.brandsmodels=brandsmodels;
}