【发布时间】:2021-11-23 22:53:57
【问题描述】:
我有一个名为“pedidos”的数组,其长度为 x,因为它取决于我们通过 firebase 自动更新的“订单”数量。
每个“订单”都有以下属性:
acudiente: ""
banco: "Global Bank"
data: (12) [{…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}, {…}]
email: ""
escuela: "Academia Internacional David"
estadoDeDisponibilidad: "Pendiente"
estadoDePago: "Pendiente"
fecha: "11/22/2021"
grado: "1° Grado"
id: "[AID]PM-345"
identificacion: ""
metodoDePago: "ACH"
nombre: "Brihana Orisiveth De Gracia Concepción "
phone: ""
total: "346.45"
totalPagado: 0
uid: "13eLyFqGGrZ0vTu3llpVxeFCBun2"
现在,每个订单都有一个名为“数据”的属性,它是 x,因为人们可以订购 x 数量的东西,所以 12 不是一个常数。 data 中的每一项都有以下属性:
descripcion: "ACCELIUM - Programa de Tecnología"
disponible: 0
editorial: "Programa"
grado: (6) ['1° Grado', '2° Grado', '3° Grado', '4° Grado', '5° Grado', '6° Grado']
id: "L-25304"
materia: "Tecnologia"
ordenados: 12
precio: "35.00"
tipo: "Programa"
现在我正在尝试创建一个包含每个数据数组的新数组,这意味着如果有 5 个订单,每个订单有 5 个项目,它应该是一个 25 个数组,这是一个非常简单的 for 循环:
for(let x = 0; x < pedidos.length; x++){
for(let y = 0; y < pedidos[x].data.length; y++){
pedidosExcel.push(pedidos[x].data[y])
}
}
但是我还想要主数组中的一些属性,而不仅仅是名为“数据”的数组中的属性,所以我想知道是否可以相互合并属性。
更新
所以我无法做我想做的事,但我设法通过以下代码接近它,但是如果我这样做,它最终会由于某种原因成为数组中的一个数组。我手动设置了每个属性,因为我想覆盖其中一些属性,因为某些属性具有相同的名称
for(let x = 0; x < pedidos.length; x++){
for(let y = 0; y < pedidos[x].data.length; y++){
pedidosExcel.push(pedidos[x].data[y])
pedidosExcel[y] = [{
id: pedidos[x].id,
nombre: pedidos[x].nombre,
escuela: pedidos[x].escuela,
grado: pedidos[x].grado,
fecha: pedidos[x].fecha,
descripcion: pedidos[x].data[y].descripcion,
tipo: pedidos[x].data[y].tipo,
editorial: pedidos[x].data[y].editorial,
precio: pedidos[x].data[y].precio,
}]
}
}
希望这比我之前的解释更清楚。
【问题讨论】:
-
合并选项?可悲的是没有用
-
在您帖子的最后一张图片中,有两个名称为
id的键 - 这是不可能的,键必须是唯一的。另外,在上面的示例中,data数组包含 12 个项目,那么您希望将哪个项目合并到父数据中? -
不要发布图片,发布包含相关信息的文字。由于可以复制和粘贴,而且阅读起来更清晰,因此回答起来更加容易。
-
@RoMilton 我确信它们可以被覆盖,这是我想要实现的。好的,所以主数组包含一个名为 data[x] 的数组,其中包含 x 个项目(在该图片中是 12,但并不总是相同)。我创建了一个新变量,它将保存所有称为数据的属性,所以如果在我的数组集合中我有 35 个保存数据 [x] 的数组,那么新数组应该是这些数据 [x] 保存的所有信息的集合,所以它将是 35 * 数据 [x]。但是我仍然需要来自第一个数组的信息,这就是为什么我试图在我的新更新中覆盖它。
标签: javascript arrays reactjs