簡體   English   中英

將多個數組對象轉換為單個數組,下划線

[英]convert multiple arrays objects to single array, underscore

我有一個包含多個對象的數組,例如

var val = [
    _id: ["5412fc1bd123cf7016674a92", "5412cf270e9ca9b517b43ca3"],
    _id: ["5412cf5a6cc4f4bc151fd220"]
];

我想更改為單個數組,例如:

var val = [
    "5412fc1bd123cf7016674a92", 
    "5412cf270e9ca9b517b43ca3", 
    "5412cf5a6cc4f4bc151fd220"
];

我正在使用_.pluck(),但沒有給我想要的輸出。 我該如何實現?

更新:這是2019年, Array.flat是本機的。

 const val = { _id: ["5412fc1bd123cf7016674a92", "5412cf270e9ca9b517b43ca3"], _id2: ["5412cf5a6cc4f4bc151fd220"] } console.log( Object.values(val).flat() ) // Without flat console.log( Array.prototype.concat.apply( [], Object.values(val) ) ) // Without Object.values console.log( Array.prototype.concat.apply( [], Object.keys(val).map(k => val[k]) ) ) 

以下是lodash所需的全部:

_.flatten(_.values(val))

假設輸入數據是一個包含多個數組的對象,如下所示:

var val = {
    _id: ["5412fc1bd123cf7016674a92", "5412cf270e9ca9b517b43ca3"],
    _id2: ["5412cf5a6cc4f4bc151fd220"]
};

您可以使用concat輕松獲得所需的數組結構:

var flat = [];
for (var key in val) {
    flat = flat.concat(val[key]);
}
console.log(flat);

輸出:

[ '5412fc1bd123cf7016674a92',
  '5412cf270e9ca9b517b43ca3',
  '5412cf5a6cc4f4bc151fd220' ]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM