Combine multiple arrays using lodash

喜欢而已 提交于 2019-12-25 07:15:24

问题


I'm trying to search for away to Combine arrays together and returns an object using lodash ex:

var names = ['Franko','Dalia','Peter','Max']
var products = ['Mobile','Tv','Camera']
var result = [{
     'name':'Franko'
     'product':'Mobile'
},{
     'name':'Dalia'
     'product':'Tv'
},{
     'name':'Peter'
     'product':'Camera'
},{
     'name':'Max'
     'product':''
}]

回答1:


Almost like the duplicate suggested by Mike C, but with slightly different details, use zipWith:

var names = ['Franko','Dalia','Peter','Max'];
var products = ['Mobile','Tv','Camera'];

var result = _.zipWith(names, products, function(name, product) {
    return {name: name, product: product || ''};
  });

console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.11.2/lodash.min.js"></script>



回答2:


A simple pure JS solution here...

var names = ['Franko','Dalia','Peter','Max'],
 products = ['Mobile','Tv','Camera'],
   zipped = names.map((e,i) =>  ({name: e, product: products[i] || ""}));
console.log(zipped);


来源:https://stackoverflow.com/questions/37821558/combine-multiple-arrays-using-lodash

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!