【问题标题】:Unexpected token error in for loop, why?for循环中出现意外的令牌错误,为什么?
【发布时间】:2018-05-08 08:10:54
【问题描述】:

var ccode = ['EUR', 'BRL', 'RUB', 'KRW', 'RON', 'CHF'];
  var i;
  for (var i = 0; i < ccode.length; i++) {
     var ccode[i] = fx.convert(amount, {to: 'ccode[i]'});
  }

var ccode[i] 上面的位导致错误

语法错误:意外的标记“[”。预期的 ';'变量后 声明。

我还是 JS 新手,所以请多多包涵。

我在这里编辑我的问题,因为人们问我为什么要重新声明 var ccode[i] 及其因为我需要输出这个:

var EUR = fx.convert(amount, {to: "EUR"});

【问题讨论】:

  • 为什么又要声明ccode?​​span>
  • for (var i = 0; 再次声明i。去掉var,是的,ccode也一样
  • 我有 var ccode[i] 因为我需要输出这个 "var EUR = fx.convert(amount, {to: "EUR"});"

标签: javascript loops for-loop


【解决方案1】:
var ccode = ['EUR', 'BRL', 'RUB', 'KRW', 'RON', 'CHF'];
var i;
  for (i = 0; i < ccode.length; i++) {
     ccode[i] = fx.convert(amount, {to: 'ccode[i]'});
  }

ccode 已声明.. 无需使用var

【讨论】:

  • 同样适用于 i
【解决方案2】:

这不是关于两次声明ccode,因为变量声明语法错误

var ccode[i]; 不应为数组,请参阅reference

你应该删除var。

var ccode = ['EUR', 'BRL', 'RUB', 'KRW', 'RON', 'CHF'];
  var i;
  for (var i = 0; i < ccode.length; i++) {
     ccode[i] = fx.convert(amount, {to: 'ccode[i]'});
  }

【讨论】:

    【解决方案3】:

    我建议使用数组映射:

    var ccode = ['EUR', 'BRL', 'RUB', 'KRW', 'RON', 'CHF'];
    ccode = ccode.map(function(code) {
      return fx.convert(amount, {to: code})
    })
    

    【讨论】:

    • map 返回一个新数组,但您没有分配此结果。
    猜你喜欢
    • 2013-03-29
    • 1970-01-01
    • 2019-01-02
    • 1970-01-01
    • 2017-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多