我正在使用felixge / node-mysql来运行此查询: " SELECT DISTINCT tablename.id FROM tablename"
返回的行(显然)采用以下格式: [{id:123},{id:234},{id:345}]
我无法弄清楚如何获得这个: [123,234,345]
答案 0 :(得分:1)
使用ES5,使用map transformation:
非常容易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
的“近距离放置”。)
答案 1 :(得分:0)
您可以使用lodash或underscore:
var _ = require('lodash'); // or 'underscore'
var a = [{id: 123},{id: 234},{id: 345}];
var b = _.pluck(a, 'id');
console.log(b); // [123, 234, 345]