【问题标题】:JavaScript, function's argument is not working on loop [duplicate]JavaScript,函数的参数在循环中不起作用[重复]
【发布时间】:2021-07-15 21:32:45
【问题描述】:

我想要一个函数,它获取 JSON 文件中行的名称并根据该参数返回该行中的元素列表...如果调用“DRIVER”,那么我应该获取该行中的所有驱动程序,如果调用“COMPANY”,那么所有公司......我已经做了几次尝试来获得它,比如连接 +“.argument”,但它似乎不起作用。 任何帮助将不胜感激..

const data = require('./drivers.json'); // THIS IS MY FILE 

function getInfo(argument){
    console.log(argument);
    for (let i = 0; i < data.length; i+=1) {
        console.log(data1[i].argument);       //UNDEFINED 
    }

}

getInfo('DRIVER');

【问题讨论】:

  • 这取决于JSON是什么样的,但你可以试试console.log(data1[i][argument]);
  • 展示你的json结构很重要

标签: javascript function loops arguments indentation


【解决方案1】:

如果您有一个对象 obj = {hello: 'World') 和一个变量 var = 'hello',请像这样访问它 obj[var]

您当前的实现将检索未定义的obj['argument']

【讨论】:

    【解决方案2】:

    您的代码中有错误。您使用data 作为for 循环的输入,但在循环中您使用data1。这应该可以解决它:

    for (let i = 0; i < data.length; i+=1) {
        console.log(data[i].argument);       
    }
    

    您的代码永远不会与您的拼写错误一起工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-03-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多