0
に示し、これは私が私のAngularJSビュー(オランダ語)で公開したいいくつかのデータであると仮定します計算子オブジェクトの値と親
$scope.data =
[
{
name: "actief",
value: null,
children:
[
{
name: "vast actief",
value: [20, 30, 40, 50],
children: null
},
{
name: "vlottend actief",
value: [215, 230, 245, 500],
children: null
},
{
name: "bewegend actief",
value: [134, 135, 136, 137],
children: null
}
]
},
{
name: "stilstaand",
value: null,
children:
[
{
name: "vast stilstaand",
value: [2000, 3000, 4000, 5000],
children: null
},
{
name: "vlottend stilstaand",
value: [2150, 2300, 2450, 5000],
children: null
},
{
name: "bewegend stilstaand",
value: [1340, 1350, 1360, 1370],
children: null
}
]
}
];
私の見解でリストにこのオブジェクトを公開するには、私が行うことができますこのような何か:
<ul ng-repeat="item in data">
<li>{{item.name}}</li>
<ul ng-repeat="child in item.children">
<li>{{ child.name }}</li>
<ul ng-repeat="value in child.value">
<li>{{ value }}</li>
</ul>
</ul>
</ul>
私は私の親オブジェクト{{ item name }}
は子供の合計などの配列を持つようにしたいです最初の親は、この配列だろう:私は(コントローラにはロジック私は知っているが、それはただのテストのためです)私のコントローラの内部でこの計算を行うことを試みない[369, 395, 421, 687]
を
for (var i = 0; i < $scope.data.length; i++){
$scope.data[i].value = [];
for (var j = 0; j < $scope.data[i].children.length; j++) {
if ($scope.data[i].children[j].value.length > 0) {
for (var k = 0; k < $scope.data[i].children[j].value.length; k++) {
console.log(typeof $scope.data[i].children[j].value[k]); // says number!
$scope.data[i].value[k] += $scope.data[i].children[j].value[k]; // But my array is NAN???
}
}
}
}
私の4箇所があります。親の値配列ですが、それらのうちのどれもNaN
ですが、何が間違っていますか?
サイド質問:
私は私の見解でループをやっているので、そこに配列位置の合計を計算するために短い方法はありませんか?
あなたはその程度か?なぜなら、私が 'var myArray = []; myArray + = 5'私はちょうど '5'を得ます。しかし、私は 'var myArray = []; myArray + = 5; myArray + = 10''は '510'になります。私が見ているのは、数字を数えず、連想させるということです。 – Peter
質問を理解してから、配列内の値をインクリメントします。配列には、myArray [index] + = value'という構文があります。ですから、もしあなたが 'var myArray = [1,2,3]'を持っていて、最初の要素に '5'を追加したいのであれば、' myArray [0] + = 5'を実行します。索引「0」の使用に注目してください。インデックスがない構文( 'myArray + = 5')は、この場合に探しているものではありません。 –
あなたが正しいと私は私がそれに気づいたので、私は私の前の答えを編集することができるまで待っていた!我々はそれが動作します、ありがとう! – Peter