Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将数据推送到位置为[i]的数组?_Javascript_Arrays - Fatal编程技术网

Javascript 如何将数据推送到位置为[i]的数组?

Javascript 如何将数据推送到位置为[i]的数组?,javascript,arrays,Javascript,Arrays,例如,我在For循环中创建了一个数组: for (i = 0; i < data.length; i++){ array[i] = { label: bread, color: colorArray[i] }; } for(i=0;i

例如,我在For循环中创建了一个数组:

for (i = 0; i < data.length; i++){
   array[i] = {
     label: bread,
     color: colorArray[i]
   };
 }
for(i=0;i
在子for循环中,我想向这个数组追加更多数据。我尝试的是:

for (r = 0; r < data[i].length; r++){

   array[i].push({
      data: breadTypes[r][i]
   });
}
for(r=0;r
它抛出
TypeError:array[i]。push不是一个函数。

array[r]={data:breadTypes[r][i]}按预期覆盖现有数据

有没有其他方法可以做到这一点?谢谢

就这样做:

for (i = 0; i < data.length; ++i) {
    array[i].data = breadTypes[i];
}
for (r = 0; r < data[i].length; r++){
    array[i].data = breadTypes[r][i];
}
for(i=0;i
只需这样做:

for (i = 0; i < data.length; ++i) {
    array[i].data = breadTypes[i];
}
for (r = 0; r < data[i].length; r++){
    array[i].data = breadTypes[r][i];
}
for(i=0;i
如果我理解正确,您的第二个
for
应该如下所示:

for (i = 0; i < data.length; ++i) {
    array[i].data = breadTypes[i];
}
for (r = 0; r < data[i].length; r++){
    array[i].data = breadTypes[r][i];
}
for(r=0;r
如果我理解正确,您的第二个
for
应该如下所示:

for (i = 0; i < data.length; ++i) {
    array[i].data = breadTypes[i];
}
for (r = 0; r < data[i].length; r++){
    array[i].data = breadTypes[r][i];
}
for(r=0;r
此处
array[i]
是一个对象,
push
是一种数组方法,不能在对象上使用,但您可以在
array[i]
对象中创建
数据

array[r].data=breadTypes[r]


如果第二个循环没有嵌套在第一个循环中,那么
breadTypes[r][i]
将抛出一个错误,因为
i
将可用这里
array[i]
是一个对象,
push
是一个数组方法,不能在对象上使用,但您可以创建
数据
键入
array[i]
对象

array[r].data=breadTypes[r]


如果第二个循环没有嵌套在第一个循环中,
breadTypes[r][i]
将抛出错误,因为
i
将可用

使用
array.splice(索引,i,{data:breadTypes[r][i]})
要将项目插入索引
i
只需删除
[i]
您正在查找
数组[i]。data=breadTypes[r][i]
推送是对数组的操作
data[i]
不是数组,它是一个对象。这个问题不是建议的原始问题的重复,OP不是试图将项目插入数组,他们希望向数组中的现有对象添加数据。使用
array.splice(索引,i,{data:BroadTypes[r][i]})
要将项目插入索引
i
只需删除
[i]
您正在查找
数组[i]。data=breadTypes[r][i]
推送是对数组的操作
data[i]
不是数组,它是一个对象。这个问题不是建议的原始问题的副本,OP不是试图将项目插入数组,他们希望向数组中的现有对象添加数据。这将重新写入
array[i]。data
data[i]。长度-1
次。重点是什么?您应该使用
array[i].data.push(宽度类型[r][i])
。并为(r=0;r
定义
array[i]。数据=[]
之外,它将重新写入
array[i]。数据
data[i]。长度-1次。重点是什么?您应该使用
array[i].data.push(宽度类型[r][i])
。并在(r=0;r之外定义
array[i].data=[]
我有两个面包对象,每个面包对象都有很多数据类型。这就是为什么我需要2个for循环来首先获取这2个bread对象,然后相应地将数据类型添加到这些对象中。我有2个bread对象,每个对象都有很多数据类型。这就是为什么我需要2个for循环来首先获取这2个bread对象,然后相应地将数据类型添加到这些对象中。。