我在这里搜索过,但我找不到解决方案,我想我只是缺少一些语法。
var DataSend = [];
for ( $i=0; $i < $MovimentosLength; $i++) {
DataSend = [
$i =[
'CodProduto', CacheQL.Movimentos.CodProduto[$i],
'ProdutoDesignacao', CacheQL.Movimentos.ProdutoDesignacao[$i],
'Valor', CacheQL.Movimentos.Valor[$i],
'Percentagem', CacheQL.Movimentos.Percentagem[$i]
],
]
}//#FOR
这可能吗?我知道如何在PHP中执行此操作,但在JS中我并不真正了解语法。
谢谢
答案 0 :(得分:2)
您快到了!就是说,使用javascript并没有将数组推入数组的捷径。您必须使用push()
。
在您的示例中,它看起来也不是一个2D数组,而是一个对象数组。像这样:
const DataSend = [];
for (let i=0; i < MovimentosLength; i++)
{
DataSend.push({
CodProduto: CacheQL.Movimentos.CodProduto[i],
ProdutoDesignacao: CacheQL.Movimentos.ProdutoDesignacao[i],
Valor: CacheQL.Movimentos.Valor[i],
Percentagem: CacheQL.Movimentos.Percentagem[i]
});
}
这有意义吗?
答案 1 :(得分:0)
实际上,这非常相似,尽管我不知道您所使用的源CacheQL.Movimentos是什么。数组吗?
初始化一个新数组
var DataSend=[];
在对象上循环
for(var a=0;a<CacheQL.Movimentos.length;a++)
{
}
在for循环内将一个新数组推入现有数组
DataSend.push(['CodProduto', CacheQL.Movimentos.CodProduto[a],
'ProdutoDesignacao', CacheQL.Movimentos.ProdutoDesignacao[a],
'Valor', CacheQL.Movimentos.Valor[a],
'Percentagem', CacheQL.Movimentos.Percentagem[a]);
答案 2 :(得分:0)
只需将push
与有效的对象文字一起使用:
for (let i = 0; i < MovimentosLength; i++) {
DataSend.push({
CodProduto: CacheQL.Movimentos.CodProduto[i],
ProdutoDesignaco: CacheQL.Movimentos.ProdutoDesignaco[i],
Valor: CacheQL.Movimentos.Valor[i],
Percentagem: CacheQL.Movimentos.Percentagem[i]
});
}
或者如果您想要一个数组:
for (let i = 0; i < MovimentosLength; i++) {
DataSend.push([
"CodProduto", CacheQL.Movimentos.CodProduto[i],
"ProdutoDesignaco", CacheQL.Movimentos.ProdutoDesignaco[i],
"Valor", CacheQL.Movimentos.Valor[i],
"Percentagem", CacheQL.Movimentos.Percentagem[i]
]);
}