js code
var dataObj = {};
var shipDataObj = [];
function shipData(shipDataObj){
for(i=0;i<shipDataObj.length;i++){
dataObj.push({
addressLine1 : shipDataObj[i].addressLine1,
addressLine2 : shipDataObj[i].addressLine2,
city : shipDataObj[i].city,
state : shipDataObj[i].state,
country : shipDataObj[i].country,
zip : shipDataObj[i].zipCode,
contactNum : shipDataObj[i].contactNumber
});
}
}
appServices.getAddress(userData.customerId).then(function (data){
if (data){
console.log(data);
$scope.shipDataObj = data;
shipData(data);
console.log(dataObj);
}
});
我只需要data.I中的7个属性。我在shipDataObj中复制了数据对象,并调用了一个名为shipData的函数。 shipData将推送shipDataObj中的属性。 shipDataObj可能有两个索引,比如0和1,每个索引都有7个属性。这7个属性我必须在dataObj中推送,这样我才能只显示这些属性。
我不明白为什么这个错误即将发生dataObj不是一个函数。
答案 0 :(得分:4)
dataObj
变量的值是对象引用,对象不具有.push()
方法。如果你真的希望它是一个数组,它的初始化应该看起来像
var dataObj = [];