【问题标题】:Creating object in a for loop syntax error在 for 循环语法错误中创建对象
【发布时间】:2017-04-28 11:14:58
【问题描述】:

我在 for 循环中定义对象的行的以下代码中遇到语法错误。这里出了什么问题?

var NAMES     = [ 'Accessories', 'Basins' ];      
var VARIANTS  = [ ['red','green','blue'], ['red','green','blue'] ];  
var numGroups = AD_GROUP_NAMES.length;
var INFO      = [];

for (var x = 0; x =< numGroups; x++) {
    var obj = { name : NAMES[x], variants : VARIANTS[x] };
    INFO.push(obj);
}

有什么想法吗?任何帮助表示赞赏。

【问题讨论】:

  • x =&lt;numGroups 应该是x &lt;=numGroups
  • AD_GROUP_NAMES 在哪里定义?
  • 循环遍历数组:for(var i = 0 ; i &lt; arr.length ; i++)
  • 你期待什么结果?

标签: javascript arrays object for-loop


【解决方案1】:

将比较运算符从 =&lt; 更改为 &gt;=

您还应该将numGroups 设置为长度 - 1:var numGroups = AD_GROUP_NAMES.length - 1;

var NAMES     = [ 'Accessories', 'Basins' ];      
var VARIANTS  = [ ['red','green','blue'], ['red','green','blue'] ];  
var numGroups = 1 ;//AD_GROUP_NAMES.length - 1;
var INFO      = [];

for (var x = 0; x <= numGroups; x++) {
    var obj = { name : NAMES[x], variants : VARIANTS[x] };
    INFO.push(obj);
}

console.log(INFO);

Javascript 比较运算符:https://www.ecma-international.org/ecma-262/5.1/#sec-11.8.3

【讨论】:

  • 请不要引用 w3schools,使用 ECMA-262 或 MDN。
  • @RobG 好的,我更改了参考
猜你喜欢
  • 1970-01-01
  • 2012-07-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多