2016-10-06 2 views
-5

У меня есть массив как это:Javascript фильтр массива в новую переменную

var obj = { 
    "people": [{ 
     "id": "100", 
     "name": "name 1", 
     "desc": "desc 1", 
     "class": "a" 
    }, { 
     "id": "192", 
     "name": "name 2", 
     "desc": "desc 2", 
     "class": "b" 
    }, { 
     "id": "324", 
     "name": "name 3", 
     "desc": "desc 3", 
     "class": "b" 
    }, { 
     "id": "324", 
     "name": "name 4", 
     "desc": "desc 4", 
     "class": "a" 
    }, { 
     "id": "324", 
     "name": "name 5", 
     "desc": "desc 5", 
     "class": "a" 
    }] 
}; 

Что мне нужно сделать, чтобы фильтровать я только получить детали с, например, «класс» = «а»

Как я могу это сделать?

+0

Использование Array.filter https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter –

+0

Возможный дубликат [Доступ к дополнительным уровням доступа JSON по имени] (http://stackoverflow.com/questions/36039323/access-json-sub-levels-by-name) –

+1

Кажется, вы забыли показать [что вы пробовали] (http://whathaveyoutried.com), что делает этот вопрос [вне темы (# 1)] (/ help/on-topic). Пожалуйста, инвестируйте больше времени на исследование, прежде чем задавать вопросы. – zzzzBov

ответ

0

В следующий раз, сделать некоторые исследования ...

var obj = { 
 
    "people": [{ 
 
     "id": "100", 
 
     "name": "name 1", 
 
     "desc": "desc 1", 
 
     "class": "a" 
 
    }, { 
 
     "id": "192", 
 
     "name": "name 2", 
 
     "desc": "desc 2", 
 
     "class": "b" 
 
    }, { 
 
     "id": "324", 
 
     "name": "name 3", 
 
     "desc": "desc 3", 
 
     "class": "b" 
 
    }, { 
 
     "id": "324", 
 
     "name": "name 4", 
 
     "desc": "desc 4", 
 
     "class": "a" 
 
    }, { 
 
     "id": "324", 
 
     "name": "name 5", 
 
     "desc": "desc 5", 
 
     "class": "a" 
 
    }] 
 
}; 
 

 
var result = obj.people.filter(function(item) { return item.class === "a" }); 
 

 
console.log(result)