的Javascript改变特定对象属性
问题描述:
我有这样的:的Javascript改变特定对象属性
$http({
method: "GET",
url: myURL
}).
success(function (data, status) {
$scope.data = data.content; //complex object
for(i=0;i<$scope.data.length;i++){
$scope.data[i].value1 = "newvalue1";
$scope.data[i].value2= "newvalue2";
}
});
我怎样才能改变属性的对象数组的某一点?
我得到这个错误,即使我知道它的存在
$scope.data[i] is undefined
我试图解析JSON,但我得到这个错误这一点,如果$scope.data
unexpected character found...
答
我找到了一个解决方案:
$http({
method: "GET",
url: myURL
}).
success(function (data, status) {
$scope.data = data.content; //complex object
for(i=0;i<$scope.data.length;i++){
var x = $scope.data[i];
x.value1 = "newvalue1";
x.value2= "newvalue2";
$scope.data[i].value1 = x.value1;
$scope.data[i].value2 = x.value2;
}
});
说实话,我不知道为什么是这样工作的,但它确实。 谢谢大家。
答
使用使用具有对象的数组:
$http({
method: "GET",
url: myURL
}).
success(function (data, status) {
$scope.data = data.content; //complex object
for(var key in $scope.data){
$scope.data[key].value1 = "newvalue1";
$scope.data[key].value2= "newvalue2";
}
});
或者如果value1和value2已经是$ scope.data的一个键,如
$scope.data = {
value1: "me"
value2: "you"
}
然后使用此:
$http({
method: "GET",
url: myURL
}).
success(function(data, status) {
$scope.data = data.content; //complex object
for (var key in $scope.data) {
if (key == 'value1') {
$scope.data[key]= "newvalue1";
}
}
});
什么是'data.content'? – dfsq 2014-09-03 10:54:07
请发布JSON,以便我们可以看一看。 – 2014-09-03 10:54:38