如何在javascript(es5)或jquery中将两个单个数组合并为一个数组对象?



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

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

我想像这样输出

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

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

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;
}

你可以试试:

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

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

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);

最新更新