javascript - 如何将现有 json 对象数组的某些对象复制到新的 json 数组

标签 javascript angularjs json

我的 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);
  1. 您必须定义变量,否则它们将保持未定义
  2. 您必须使用.push()方法

关于javascript - 如何将现有 json 对象数组的某些对象复制到新的 json 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34903245/

相关文章:

javascript - 如何将自定义端口条目列入白名单,以便 Chrome 提供启用相机和麦克风的选项

css - AngularJs - 使用 Ng-view 更改主体 ID 或 Css

AngularJS 注入(inject)错误 - 未知提供程序 : modalMessagesProvider <- modalMessages

python - 如何在 python 中将 JSON 结果转换为 Parquet?

java - OpenCV 图像描述符到 JSON

javascript - Parse.User.logIn 卡住了

javascript - 动画菜单在后台打开

javascript - 如何在 VSCode 编辑器中调试 NodeJS(ES6) 代码?

javascript - 从 json 检索嵌套数据时出现问题

angularjs - 测试 angular.service 也是一个 promise