我的 JSON 对象数组是:
[{
"stateCd": "IL",
"value": "Illinois",
"selected": "false"
},
{
"stateCd": "CA",
"value": "California",
"selected": "true"
},
{
"stateCd": "NY",
"value": "New york",
"selected": "false"
}]
我想创建一个新的 JSON 对象数组,它应该只包含上面数组中 selected:false
中的对象。
我尝试过concat
:
angular.forEach($scope.oldJsonArr, function (value, index) {
if($scope.oldJsonArr[index].selected=="false"){
$scope.newJsonArr.concat($scope.oldJsonArr[index]);
}
});
但这会将 newJsonArr
返回为未定义。
如有任何帮助,我们将不胜感激!
最佳答案
这是代码:
$scope.oldJsonArr = [{"stateCd": "IL", "value": "Illinois", "selected": "false"}, {
"stateCd": "CA",
"value": "California",
"selected": "true"
}, {"stateCd": "NY", "value": "New york", "selected": "false"}];
$scope.newJsonArr = [];
angular.forEach($scope.oldJsonArr, function (value, index) {
if ($scope.oldJsonArr[index].selected == "false") {
$scope.newJsonArr.push($scope.oldJsonArr[index]);
}
});
console.info($scope.newJsonArr);
- 您必须定义变量,否则它们将保持
未定义
- 您必须使用
.push()
方法
关于javascript - 如何将现有 json 对象数组的某些对象复制到新的 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34903245/