繁体   English   中英

将对象数组转换为每个对象的特定属性数组

[英]Convert array of objects to array of specific property from each object

我正在使用felixge / node-mysql运行此查询:“ SELECT DISTINCT tablename.id FROM tablename”

返回的行(显然)采用以下格式:[{id:123},{id:234},{id:345}]

我不知道如何获得此信息:[123、234、345]

对于ES5,使用地图转换相当容易:

map()方法创建一个新数组,并对该数组中的每个元素调用提供的函数。

例如:

var arr = [{id: 123},{id: 234},{id: 345}];
var res = arr.map(function (o) {
   return o.id;
});

像这样“手动”执行循环:

var arr = [{id: 123},{id: 234},{id: 345}];
var res = [];
// Loop over the array
for (var i = 0; i < arr.length; i++) {
  var item = arr[i];
  // And add new value we want to result array
  res.push(item.id);
}

(请注意,变量是函数作用域的,但是我更喜欢使用var “ close position”。)

您可以使用lodash下划线

var _ = require('lodash'); // or 'underscore'

var a = [{id: 123},{id: 234},{id: 345}];

var b = _.pluck(a, 'id');

console.log(b); // [123, 234, 345] 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM