簡體   English   中英

lodash:如何使用值壓縮對象數組

[英]lodash: how to zip an array of objects with values

我正在尋找如何使用lodash壓縮包含值的對象數組,其中包括每個值的新鍵。 嘗試使用zipzipObjectmap,但找不到密鑰。

我要執行的操作如下(避免手動遍歷數組)

var array = [
   {a: 3, b: 42}, 
   {c: 4}, 
   {d: 12}
 ]
 var values = ['this', 'are', 'new', 'values']
 var goal = [
   {a: 3, b: 42, v: 'this'}, 
   {c: 4, v: 'are'},
   {d: 12, v:'new'}
 ]

您可以使用zipWith()提供自定義iteratee:

var newArray = _.zipWith(array, values, function(item, value) {
    return _.defaults({ v: value }, item);
});

注意,這種方法不會改變原始array

您可以使用本機map功能。 請參見下面的代碼段。

如果要使用lodash來執行此操作,則可以使用_.map(array, function (item, index) {...});

 var array = [ {a: 3, b: 42}, {c: 4}, {d: 12} ]; var values = ['this', 'are', 'new', 'values'] var goal = array.map(function (item, index) { item.v = values[index]; return item; }); document.getElementById('goal').innerHTML = JSON.stringify(goal); 
 <div id="goal"></div> 

暫無
暫無

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

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