使用for循环创建动态对象

时间:2016-05-31 13:24:52

标签: javascript

以下是我之后的想法:

{ 'this id0': function() {
  console.log(0);
  },

  'this id1': function() {
    console.log(1);
  },

  ...
  ...
}

我以为我会尝试类似的事情:

var foo = {};
for (var i = 0, len < 10; i < len; i++)
  foo['this id'[i]] = function() {console.log([i]};

我不清楚使用的正确语法。

2 个答案:

答案 0 :(得分:1)

使用方括号访问时,对象属性必须是有效的字符串:

foo['this id' + String(i)]

将此添加到for循环

答案 1 :(得分:1)

键是字符串,因此您需要将'this id'连接到i

var foo = {};
for (var i = 0; i< 10; i++) {
    foo['this id' + i] = function() { console.log(i); }; 
}

foo['this id4'](); // logs 10