Javascript添加(push)数组与多个数据在auto with循环

javascript add(push) array with multi data inside auto with loop

本文关键字:数据 auto 循环 with 添加 push 数组 Javascript      更新时间:2023-09-26

我想添加一个数组(Data3)与多个数据与2数组之前:

var Data1 = {2,1,5};
var Data2 = {"a","b","c"};

问题是如何使Data3 auto with循环像这样:

var Data3 = [
   {
      label: Data1[0],
      value: Data2[0]
   },
   {
      label: Data1[1],
      value: Data2[1]
   },
   {
      label: Data1[2],
      value: Data2[2]
   }
];

如果data1和data2是动态数组,可以帮助我解决这个问题,自动填充Data3与for/while?

您可以使用 forEach()

var Data1 = [2, 1, 5],
  Data2 = ["a", "b", "c"],
  Data3 = [];
Data1.forEach(function(v, i) {
  Data3.push({
    label: v,
    value: Data2[i]
  });
});
document.write(JSON.stringify(Data3));

好的,我假设你的数据是一个数组,结果也是一个数组:

//this is my proposed solution
function joindata(data1,data2){
    if(data1.length == data2.length){
        var data3 = []
        for(var i=0; i<data1.length ; i++){
            data3.push({label: data1[i], 
                        value: data2[i]});
        }
        return data3;
    }
}
//this is an example of how it should be used
var Data1 = [2,1,5];
var Data2 = ["a","b","c"];
var Data3 = joindata(Data1,Data2);
console.log(Data1);
console.log(Data2);
console.log(Data3);
<p> this is here only to print the result </p>
<script src="https://getfirebug.com/firebug-lite-debug.js"></script>

这样做:

var Data3 = Data1.map(function(currentValue, index) {
  return {label: currentValue, value: Data2[index]};
});
console.log(Data3);