按键返回元素

时间:2017-05-31 22:29:35

标签: javascript

我想只返回此元素的id元素,这个函数有

ga_impression_item = JSON.parse('[{"name":"Celular Desbloqueado DL YC-130 - Tecla SOS - C\u00e2merca Digital - Mp4 - USB - Mem\u00f3ria Expans\u00edvel at\u00e9 32GB - Dual Chip - Preto","id":"2736","price":194,"category":"Celulares e Telefones\/Celulares Desbloqueados","brand":"DL","list":"Departments","position":1},{"name":"Celular Desbloqueado DL YC-110 - Tecla SOS - C\u00e2mera Digital - Mp4 - USB - Mem\u00f3ria Expans\u00edvel at\u00e9 32GB - Dual Chip - Preto","id":"2735","price":159,"category":"Celulares e Telefones\/Celulares Desbloqueados","brand":"DL","list":"Departments","position":2},{"name":"Telefone sem Fio  KX-TGB110LBB Panasonic - Visor com Identificador de Chamadas - Modo Eco - Preto","id":"2621","price":135,"category":"Celulares e Telefones\/Telefonia Fixa","brand":"Panasonic","list":"Departments","position":3},{"name":"Smartphone Motorola Moto G 4 Gera\u00e7\u00e3o Plus Dual Chip Octa-Core 32GB 4G C\u00e2mera 16MP e Frontal de 5MP - Preto","id":"3033","price":1182,"category":"Celulares e Telefones\/Celulares Desbloqueados","brand":"Motorola","list":"Departments","position":4},{"name":"Telefone Intelbras Pleno com Fio - Preto","id":"323","price":46.2,"category":"Celulares e Telefones\/Telefonia Fixa","brand":"Intelbras","list":"Departments","position":5},{"name":"Smartphone Samsung Galaxy J5 Duos  - Android 5.1 - C\u00e2mera 13MP - Tela 5" Super AMOLED - Internet 4G - Dourado","id":"2773","price":849,"category":"Celulares e Telefones\/Celulares Desbloqueados","brand":"Samsung","list":"Departments","position":6},{"name":"Celular Flip Dual Chip Lenoxx CX 908 com Tecla SOS C\u00e2mera Traseira Lanterna e R\u00e1dio FM - Preto","id":"3230","price":179,"category":"Celulares e Telefones\/Celulares Desbloqueados","brand":"Lenoxx","list":"Departments","position":7},{"name":"Smartphone  Desbloqueado Samsung Galaxy J1 Mini - Dual Chip - Quad-Core 1.2Ghz - Internet 3G - Wi-Fi - C\u00e2mera de 5Mp - Tela 4" -  Dourado","id":"2926","price":449,"category":"Celulares e Telefones\/Celulares Desbloqueados","brand":"Samsung","list":"Departments","position":8},{"name":"Smartphone Galaxy J2 TV Duos - C\u00e2mera 5MP - Dual Chip - Processador Quad-Core 1.1Ghz - TV Digital - Android 5.1 - Dourado","id":"2768","price":654,"category":"Celulares e Telefones\/Celulares Desbloqueados","brand":"Samsung","list":"Departments","position":9},{"name":"Smartphone Multilaser  MS40 - Dual Chip - Quad-Core 1.2Ghz - Android 4.4 Kitkat - C\u00e2mera Traseira 5MP - Frontal 2MP - 3G - Wi-Fi - Branco","id":"2866","price":289,"category":"Celulares e Telefones\/Celulares Desbloqueados","brand":"Multilaser","list":"Departments","position":10}]');

var keys = [];
for (var j in ga_impression_item.slice(0, 3)) {
  keys.push(ga_impression_item[j].id);
}
console.log(keys);

["2736", "2735", "2621"]

https://jsfiddle.net/

2 个答案:

答案 0 :(得分:2)

您可以使用map方法(使用ES6箭头功能):

ga_impression_item.map(item => item.id);

或使用常规功能:

ga_impression_item.map(function(item){ return item.id});

输出:

[ '2736',
  '2735',
  '2621',
  '3033',
  '323',
  '2773',
  '3230',
  '2926',
  '2768',
  '2866' ]

有关此方法的更多信息,请访问:Here

答案 1 :(得分:1)

该方法称为Array.prototype.map

var keys = ga_impression_item.map(e => e.id);