2016-10-24 3 views
-1

Мне нужна помощь. У меня есть некоторая ценность json, и мне нужно проверить, существует ли key с помощью Angular.js. Я объясняю свой код ниже.Как проверить значение ключа существует в объекте JSON, используя Angular.js

var data=[{ 
    'checked':true, 
    'name':'aaa' 
},{ 
    'checked':true, 
    'name':'bbb' 
},{ 
    'name':'vvv' 
} 
] 

Здесь мне нужно принести те значения, которые имеют checked and checked==true только. Пожалуйста, помогите мне.

+2

'data.filter (я => i.checked)' в синтаксисе ES6 ... Либо путь: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter – deceze

ответ

1
var checkedData = data.filter((item) => { 
    return item.checked; 
}); 
+0

Это хороший пример для синтаксиса compact 'item => item.checked' ...! – deceze

0

Для этого вы можете использовать фильтр, из которого вы можете фильтровать определенный ключ. В контроллере:

$scope.data=[{ 
    'checked':true, 
    'name':'aaa' 
},{ 
    'checked':true, 
    'name':'bbb' 
},{ 
    'name':'vvv' 
} 
] 

На ваш взгляд:

{{data | filter:{'checked': 'true'} }} 
0

Общая функция поиска (в случае, если вам не нужны другие значения В противном случае - использовать фильтр вместо этого.).

var check = function (data) { 
    var checkResult = []; 
    angular.forEach(data, function(item) { 
     if (item.checked === true) { 
      checkResult.push(item); 
     } 
    }); 
    return checkResult; 
} 

Использование

check(data); 

фильтр (если вы хотите, чтобы сделать выбранные элементы только)

<div ng-repeat="item in items | filter:{checked:true}"></div> 
Смежные вопросы