我不知道如何在javascript var data + [i]中创建内部循环范围,我认为可能,并且我希望将一些数据推送到这样的范围
for (var i = 0; i < $scope.laporanDataKuisioner.contents.length; i++) {
for (var j = 0; j < $scope.laporanDataKuisioner.contents.length; j++) {
if ($scope.laporanDataKuisioner.contents[j].kode_tanya == $scope.laporanDataKuisioner.contents[i].kode_tanya) {
console.log(true);
$scope.data+[i].push({
key: $scope.laporanDataKuisioner.contents[j].kode_jawab,
y: $scope.laporanDataKuisioner.contents[j].jumlah
});
};
}
console.log($scope.data+[i]);
}
请帮忙,谢谢
答案 0 :(得分:1)
我认为你想动态地在范围内生成变量,所以请看下面的模板。您需要稍微修改一下代码。
很少有事情要记住。
.push()是数组的功能。在这里,您尝试在范围中添加变量。
范围是json变量,因此.push()
方法不起作用。
要在json中添加任何新属性,有两种方法,如评论中提到的@Chandermani。在这里,您可以将键作为字符串方法使用,以便您可以动态生成字符串,并可以将该字符串用作范围对象的属性名称。
检查以下模板并与您的
进行比较。for (var i = 0; i < $scope.laporanDataKuisioner.contents.length; i++) {
for (var j = 0; j < $scope.laporanDataKuisioner.contents.length; j++) {
if ($scope.laporanDataKuisioner.contents[j].kode_tanya == $scope.laporanDataKuisioner.contents[i].kode_tanya) {
console.log(true);
$scope['data' + i] = {
key: $scope.laporanDataKuisioner.contents[j].kode_jawab,
y: $scope.laporanDataKuisioner.contents[j].jumlah
};
}
;
}
console.log($scope['data' + [i]]);
}