如何使用angularjs从对象数组中删除项?

时间:2016-05-18 20:03:33

标签: javascript arrays angularjs

如果休息服务响应返回true,我想从数组中删除索引,所以在下面的情况下让我们说从休息服务中我们是真的我想从数组中删除id为' RA_ATTST_LANGUAGE`的对象。我试过下面的代码,但是没有删除丢失的内容?

main.js

MessageAdminNotificationFactory.getAttestationLanValidation().then(function(response){
        var data = response.data;
        console.log('attestation',data);
        if(data){
          angular.forEach($scope.adminDataSource,function(value,$index){
            if(value.id === 'RA_ATTST_LANGUAGE'){
              $scope.adminDataSource.splice($index, 1);
            }
            console.log('dropdown',value.id);
          });
        }
      });

$scope.adminDataSource = [{
    "uid": null,
    "index": 0,
    "selected": null,
    "expanded": null,
    "id": "RA_PLTFRM_NOTIF",
    "text": "Platform Maintenance Notification",
    "parentId": null,
    "items": null
}, {
    "uid": null,
    "index": 0,
    "selected": null,
    "expanded": null,
    "id": "RA_ATTST_LANGUAGE",
    "text": "Attestation Language",
    "parentId": null,
    "items": null
}]

2 个答案:

答案 0 :(得分:1)

$scope.adminDataSource = $scope.adminDataSource.filter(
  function(value){
     return value.id !== 'RA_ATTST_LANGUAGE';
})

Array.filter是要走的路。过滤掉任何评估为false的内容;

答案 1 :(得分:0)

从头到尾迭代数组

cout << "Book count: ";  wscanf_s(L"%i", &count);

这样,在迭代时数组是否收缩无关紧要。