【问题标题】:How to Merge two single array into an array object in javascript(es5) or jquery?如何在javascript(es5)或jquery中将两个单个数组合并为一个数组对象?
【发布时间】:2020-06-14 20:34:21
【问题描述】:

这是我的第一个和第二个数组。

var category = ["total_employee","total_present"];
var value = [12,10];

我想这样输出

 var data = [{ category: "total_employe", value: 12 }, {category: "total_present", value: 10}];

【问题讨论】:

  • 你的尝试...?
  • 我尝试了不同的来源,但没有得到任何预期的结果。
  • 为什么不添加这个?

标签: javascript jquery ecmascript-5


【解决方案1】:

您可以从两个数组中迭代和创建新对象,如下所示:

var category = ["total_employee","total_present"];
var value = [12,10];
console.log(getList(category,value));

function getList(category,value){
     if(!category || !value || category.length != value.length)
          return;
     let res = [];
     for(let i = 0; i < category.length; i++){
          res.push({"category":category[i],"value":value[i]});
     }
     return res;
}

【讨论】:

    【解决方案2】:

    你可以试试:

    const categories = ['total_employee', 'total_present'];
    const values = [12, 10];
    
    const result = categories.map((category, index) => ({ category, value: values[index] }));
    
    console.log(result);

    【讨论】:

      【解决方案3】:

      您可以获取具有所需键/值的对象并将值映射到所需的对象。

      var category = ["total_employee", "total_present"],
          value = [12, 10],
          parts = { category, value },
          result = Object
              .entries(parts)
              .reduce((r, [k, a]) => a.map((v, i) => ({ ...(r[i] || {}), [k]: v })), []);
      
      console.log(result);

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-11-17
        • 1970-01-01
        • 2021-01-18
        • 1970-01-01
        • 2012-05-10
        • 2019-09-26
        相关资源
        最近更新 更多