【问题标题】:getting array value in console在控制台中获取数组值
【发布时间】:2021-08-30 09:20:46
【问题描述】:

我有一个包含数组的数组 (tot)。 我需要检查 (tot) 中的每个条目是否有值,这是通过在控制台输入 AA[3] 来完成的,但是,当我从脚本执行它时,AA[3] 不会返回任何值!

这是我的脚本:

tot=["AA","AB","AC"];
AA=["1","2","3","4","5","6","7"];
AB=["1","2","3","4","5","6","7"];
AC=["1","2","3","4","5","6","7"];

for (let i = 0; i < tot.length; i++)  
{
tot[i]+'[2]';
}

【问题讨论】:

  • 你想用这个值做什么?您的循环不会返回或分配任何内容。
  • 我需要在 tot 中显示每个值,然后显示一个设置值来检查它是否有,比如我需要位置 5,我在控制台中输入 AA[5],我要么得到一个值,要么未定义,所以我需要在 tot 下测试每个 5、AA[5]、AC[5] 等等

标签: javascript arrays console


【解决方案1】:

我有一个数组(tot),里面有数组

实际上,这是不准确的。您有一个数组,其中包含不是数组的字符串值。数组中的字符串值与某些数组的名称相匹配。取而代之的是,您可能想使用数组对象,例如:

let AA=["1","2","3","4","5","6","7"];
let AB=["1","2","3","4","5","6","7"];
let AC=["1","2","3","4","5","6","7"];
let tot={AA,AB,AC};
let index = 5;

for (let key in tot) {
    console.log(`${key}[${index}]: ${tot[key][index]}`);
}

【讨论】:

    【解决方案2】:

    你可以试试:

    const tot = [
        ["1","2","3","4","5","6","7"],
        ["1","2","3","4","5","6","7"],
        ["1","2","3","4","5","6","7"]
    ];
    
    for (let i = 0; i < tot.length; i++)  
    {
        console.log(tot[i][2]);
    }

    【讨论】:

      【解决方案3】:

      变量不能作为函数工作。不要在循环中写变量,试试:

      console.log(tot);
      

      另外,我假设你打算这样做 var tot = new Array(AA, AB, AC);

      var AA=["1","2","3","4","5","6","7"];
      var AB=["1","2","3","4","5","6","7"];
      var AC=["1","2","3","4","5","6","7"];
      var tot= new Array(AA,AB,AC);
      
      for (let i = 0; i < tot.length; i++)  
      {
      tot[i].push("2")
      console.log(tot[i]);
      }

      【讨论】:

        【解决方案4】:

        要遍历tot数组中的每个数组,你必须嵌套两个for循环,并且console.log嵌套for循环中的每个值:

        
        const AA=["1","2","3","4","5","6","7"];
        const AB=["1","2","3","4","5","6","7"];
        const AC=["1","2","3","4","5","6","7"];
        const tot=[AA,AB,AC];
        
        const logArray = (tot) => {
          for (let i = 0; i < tot.length; i++) {
            console.warn(`tot[${i}] contains:`);
            for (let j = 0; j < tot[i].length; j++) {
              console.log(tot[i][j]);
            }
          }
        };
        

        【讨论】:

          【解决方案5】:

          您的代码没有输出任何内容,因为您没有要求它这样做。还有那行: tot[i] + '[2]' 不正确。你到底想在那里做什么。我将其更改为向每个元素添加 '[2]' 字符串,但似乎这不是您想要的。

          tot=["AA","AB","AC"];
          AA=["1","2","3","4","5","6","7"];
          AB=["1","2","3","4","5","6","7"];
          AC=["1","2","3","4","5","6","7"];
          
          for (let i = 0; i < tot.length; i++)  
          {
          tot[i]+='[2]';
          }
          console.log(tot)

          【讨论】:

            猜你喜欢
            • 2015-06-01
            • 1970-01-01
            • 2019-09-26
            • 1970-01-01
            • 1970-01-01
            • 2017-01-01
            • 2020-03-12
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多