Цикл, хотя получить запрос и вернуть элементы, которые являются правдой - PullRequest
0 голосов
/ 19 октября 2018

вопрос новичка.У меня есть проект angularjs.Я использую запрос $ http.get, который возвращает элемент в формате json.

{ "total": 3,"items": [{"container":bla, "conf": { "id": "unique ID1"} }, {"container":bla, "conf": { "id": "unique ID2"}, {"container":bla, "conf": { "id": "unique ID3"} } } ] }

Я хочу перебрать все элементы.в настоящее время у меня есть этот код:

for (var i = 0; i < response.items.length; i++) {

      if (id === response.items[i].conf.id){
        return response.items === true;
                } else {
      }

это возвращает true, как я хочу.но теперь я хочу, чтобы ответ содержал только те элементы, которые соответствуют действительности.Каков наилучший способ сделать это?Я думаю, что делаю что-то не так.

Ответы [ 3 ]

0 голосов
/ 19 октября 2018

Вы можете просто использовать метод filter, чтобы найти все элементы в вашем массиве, соответствующие предикату (логическое условие), т.е.

const itemsWithId = response.items.filter(i => i.conf.id === id)

См. Здесь документы фильтра: https://developer.mozilla.org/nl/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

0 голосов
/ 19 октября 2018

использовать фильтр массива

let arr=[{"container":'ruy', "conf": { "id": "1"} },{"container":'bla', "conf": { "id": "2"} },{"container":'bla', "conf": { "id": "3"} }]


let id="1";
let result = arr.filter(({conf})=>conf.id === id);
console.log('result',result);
0 голосов
/ 19 октября 2018

Вы можете использовать array.filter

let result = response.items.filter(res=>res.conf.id === "yourId");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...