如何在for中构建JavaScript 2D数组

如何在for中构建JavaScript 2D数组,javascript,arrays,Javascript,Arrays,我在这里搜索,我找不到解决方法,我想我只是缺少一些语法 var DataSend = []; for ( $i=0; $i < $MovimentosLength; $i++) { DataSend = [ $i =[ 'CodProduto', CacheQL.Movimentos.CodProduto[$i], 'ProdutoDesignacao', CacheQL.Movimentos.ProdutoDesig

我在这里搜索,我找不到解决方法,我想我只是缺少一些语法

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
var-DataSend=[];
对于($i=0;$i<$MovimentosLength;$i++){
数据结束=[
$i=[
'CodProduto',CacheQL.Movimentos.CodProduto[$i],
'produtodesignaco',CacheQL.Movimentos.produtodesignaco[$i],
“Valor”,CacheQL.Movimentos.Valor[$i],
'Percentagem',CacheQL.Movimentos.Percentagem[$i]
],
]
}//#为了
这可能吗?我知道如何在PHP中使用它,但在js中我不知道它的语法


谢谢

你就快到了!只是,使用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]
            });
}
constdatasend=[];
for(设i=0;i

这有意义吗?

你就快到了!只是,使用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]
            });
}
constdatasend=[];
for(设i=0;i

这有意义吗?

事实上,它非常相似,尽管我不知道您案例中的源CacheQL.Movimentos是什么。还有一个数组

初始化一个新数组

var DataSend=[];
在对象上循环

for(var a=0;a<CacheQL.Movimentos.length;a++)
{
}

事实上,它非常相似,尽管我不知道您案例中的源CacheQL.Movimentos是什么。还有一个数组

初始化一个新数组

var DataSend=[];
在对象上循环

for(var a=0;a<CacheQL.Movimentos.length;a++)
{
}

只需将
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(设i=0;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]
  ]);
}
for(设i=0;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]
  });
}
for(设i=0;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]
  ]);
}
for(设i=0;i
您正在用每个循环覆盖
$i
变量。
DataSend[$i]=['CodProduto',…]
JavaScript更新了迭代命令,如
for…of
和功能实用程序,如
Array.prototype.map
Array.prototype.reduce
,这可能会使读/写起来更容易。如果您围绕此问题显示更多代码,我们可能会为您提供更好的解决方案。您正在用每个循环覆盖该
$i
变量。
DataSend[$i]=['CodProduto',…]
JavaScript更新了迭代命令,如
for…of
和功能实用程序,如
Array.prototype.map
Array.prototype.reduce
,这可能会使其更易于读/写。如果您展示更多关于这个问题的代码,我们可能会为您提供更好的解决方案。