注意:我不是问如何将数据附加到数组!
我的问题是我想将项目附加到数组的每个元素。 这是我的代码的一部分:
dataset=[];
var xpoints=["Jan","Feb","Mar","Apr","May"];
var ypoints=[10,20,30,40,50];
for (var i = 0; i < xpoints.length; i++) {
dataset.push({
x : xpoints[i],
y : parseFloat(ypoints[i])
});
}
到目前为止的数组如下:
dataset[0] - {x:Jan,y:10}
dataset[1] - {x:Feb,y:20}
dataset[2] - {x:Mar,y:30}
dataset[3] - {x:Apr,y:40}
dataset[4] - {x:May,y:50}
目前为止没有任何问题... 但是如果现在我有另一个数组(假设它的长度相同),我想将新数组的元素附加到现有数组中,这样我的输出如下:
var zpoints=["a","b","c","d","e"];
/*
Do something
*/
Required Output:
dataset[0] - {x:Jan,y:10,z:a}
dataset[1] - {x:Feb,y:20,z:b}
dataset[2] - {x:Mar,y:30,z:c}
dataset[3] - {x:Apr,y:40,z:d}
dataset[4] - {x:May,y:50,z:e}
如果我这样做:
for (var i = 0; i < dataset.length; i++) {
dataset.push({
z:zpoints[i]
});
}
它将把它作为不同的元素附加到数据集数组中,这不是我想要的。
使用 JavaScript 可以实现所需的输出吗?怎么办?
如果我想向数据集数组添加多个对象,但编译时不知道要添加的对象数量怎么办?
假设可以有多个数组:
z1=["a","b","c","d","e"];
z2=["l","m","n","o","p"];
z3=...
.
.
等等......并且这个数字在运行时之前是未知的。 我想做这样的事情:(无效代码)
for(var j=0;j<length;j++) //Length will be known only during runtime
for (var i = 0; i < dataset.length; i++) {
dataset[i].z[j] = zpoints[i]; //z[j] is invalid!!
}
我需要以某种方式动态命名对象。有没有办法实现这个目标?
最佳答案
这很简单:
for (var i = 0; i < dataset.length; i++) {
dataset[i].z = zpoints[i];
}
.push
调用总是会向数组追加更多条目;在这种情况下,您想要修改现有的。
关于javascript - 在 Javascript 中将一个数组中的项目附加到另一个数组的每个元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30913388/