2

API への ajax 呼び出しを行い、JSON 配列を取得する JavaScript 関数があります。

これが私が得る配列のサンプルです:

[
  {
    "ErrorType": "Errors",
    "Explanations": [
      {
        "Explanation": "Price Missing",
        "Locations": [
          25,
          45
        ]
      },
      {
        "Explanation": "Unit of measurement not valid",
        "Locations": [
          25,
          301,
          302
        ]
      }
    ]
  },
  {
    "ErrorType": "Warnings",
    "Explanations": [
      {
        Blablabla,
        Ithinkthere's already much here
      }
    ]
  }
]

それを JavaScript 配列に入れました。

$scope.CorrectionDatas = ResponseFromApi;

したがって、各 ErrorType について、いくつかの「説明」があります。次のようなものにするために、別のプロパティを追加したいと思います。

[
  {
    "ErrorType": "Errors",
    "Explanations": [
      {
        "Explanation": "Price Missing",
        "Locations": [
          25,
          45
        ]
      },
      {
        "Explanation": "Unit of measurement not valid",
        "Locations": [
          25,
          301,
          302
        ]
      }
    ],
    "show": true
  },
  {
    "ErrorType": "Warnings",
    "Explanations": [
      {
        Blablabla,
        Ithinkthere's already much here 
      }
     ],
    "show":true
  }
]

私はそのようにすることによってのみそれを行うことができると思いました:

$scope.CorrectionDatas.forEach(function (error) {
    error.push({ show: true });
});

しかし、私のデバッガーは私にエラーを与えます:

Error: error.push is not a function 
$scope.getErrors/</<@http://localhost:1771/dependencies/local/js/Correction/CorrectionCtrl.js:26
4

3 に答える 3

4

各エラーはオブジェクトであるため、プッシュはありません。コードは次のようになります。

        $scope.CorrectionDatas.forEach(function(error) {
            error.show = true;
        });
于 2013-08-28T12:53:00.863 に答える