[英]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.