0
ユーザーが作成したネストされたオブジェクトの配列があります。再帰的に配列がチェックされているかどうかをチェックして、trueに設定し、次に示すようにオブジェクトのネストされた配列を再作成する必要があります。ネストされたオブジェクトの配列を再帰的に再作成
私の元の試みでは、ネストされた配列を再帰的に取得することができました。しかし、それが繰り返されるたびに私は以前の情報を上書きするでしょう。ここで
$scope.newPropertyTemplate = [];
function checkProps (item, props){
debugger
var obj = {};
var arr = [];
for(var i in props){
if(props[i].checked === true){
obj.property = item;
arr.push(props[i].name);
obj.subProperties = arr;
}
if(props[i].properties){
checkProps(props[i].name, props[i].properties);
}
}
return obj;
}
for(var i = 0; i < $scope.propertyTemplate.length; i++){
if($scope.propertyTemplate[i].properties !== null){
$scope.newPropertyTemplate.push(checkProps($scope.propertyTemplate[i].name, $scope.propertyTemplate[i].properties));
// $scope.newPropertyTemplate.push(newItem.property = $scope.propertyTemplate[i].name);
}
else {
$scope.newPropertyTemplate.push($scope.propertyTemplate[i].name);
}
}
は、ネストされた配列の例です:
[
{property: "allocation",
subProperties: [
"oid",
{property: "person",
subProperties: [
"Expires",
"State/Province"
]
}
]
}
]
これは素晴らしいです!本当にありがとう! –