簡體   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