javascript - 在 Javascript 中将一个数组中的项目附加到另一个数组的每个元素

标签 javascript arrays

注意:我不是问如何将数据附加到数组!

我的问题是我想将项目附加到数组的每个元素。 这是我的代码的一部分:

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/

相关文章:

javascript - Node.js - 首先对从字母开始且长度较长的字符串进行排序,然后是从小到大的数字开始的字符串

arrays - 如何为可变大小的数组编写大量 if 语句

javascript - 单击按钮时,有没有办法为谷歌堆积条形图的特定列着色?

javascript - $.getJSON 无法解析数组

javascript - 如何使用正则表达式模式数组来检查 url

JavaScript 将元素键赋予数组

python - 将列表转换为 NumPy 数组

php - HTML5 数据库连接丢失

javascript - IE 9 还能像旧版 IE 和 Netscape/Firefox 一样使用 Javascript 签名吗?

arrays - 使用 typescript 计算数组中的反转