2016-08-21 7 views
-3

У меня есть следующие JSON документ,Получить значения из JSON документа

var data = [ 
    {"id":1, "username":"user1"}, 
    {"id":2, "username":"user2"}, 
    {"id":3, "username":"user3"} 
] 

Как получить все значения с ключом «именем пользователя», без использования какого-либо цикла?

+0

Какой у вас язык? – Gearnode

+0

@Gearnode: Язык javascript, но я не хочу использовать какой-либо цикл – Krisalay

+0

@Krisalay, пожалуйста, проверьте ответ. Надеюсь, вы ищете одно и то же решение. «Значения с ключом« имя пользователя », без использования какого-либо цикла». –

ответ

1

Вы можете сделать это в ES6/5

data.map(function(element) { 
    return element.username; 
}); 

Documentation here

Или без петли

data[0].username 
data[1].username 
... 
0
data[0][username]; 
data[1][username]; 
data[2][username]; 
+0

Что делать, если у меня есть 200 элементов в моем массиве json? – Krisalay

+0

Затем вам нужно использовать цикл. –

+0

есть ли способ сделать это, не используя никакой цикл? – Krisalay

1

Попробуйте это будет работать:

var data = [ 
    {"id":1, "username":"user1"}, 
    {"id":2, "username":"user2"}, 
    {"id":3, "username":"user3"} 
]; 

var propUsername = data.map(function(elem) { 
    return {username:elem.username}; 
}); 

console.log(propUsername); 

Выход:

enter image description here

Работа скрипку:

https://jsfiddle.net/kgpumk4r/

Разница между forloop и map:

  • цикл перебирает список и применяет некоторые операции с побочными эффектами для каждого элемента списка (например, сохранение каждого из них в базу данных, например)

  • карту перебирает список, преобразует каждый член этого списка, а также возвращает другой список того же размера с трансформированными членами (например, получить одно свойство из каждого объекта)

Таким образом, мы можем предпочесть map над foreach цикла, как выполнение будет быстро с map.

+0

Что такое 'forloop'? Кроме того, разница между «map» и 'forEach' практически невелика. –

Смежные вопросы