如何在里面设定价值? '

时间:2017-08-17 15:04:32

标签: javascript arrays typescript

我有一些代码片段

 for(var i=0; i < this.arr.length; i++) {
      arr.push({
          id: 'i',
          label: this.arr[i],
          display: () => this.arr[i]
      })
  }

我想知道如何在里面设定价值。 &#39;对于每次迭代。我想要这样的东西&#39; 1&#39; ,&#39; 2&#39; ,&#39; 3&#39; .....

5 个答案:

答案 0 :(得分:1)

如果您说要引用的数字,请执行以下操作:

&#13;
&#13;
var arr = ["foo", "bar", "baz"];
var res = [];

for (var i = 0; i < arr.length; i++) {
  res.push({
    id: `'${i}'`,
    label: arr[i],
    display: () => arr[i]
  })
}

console.log(res);
&#13;
&#13;
&#13;

这使用模板文字将i注入到单引号之间的结果字符串中。

请注意,每个对象中的display函数会为arr[i]提供意外值。要解决此问题,请使用i而不是let声明var

答案 1 :(得分:1)

此代码在id中设置字符串'0','1','2'......

for(var i=0; i < this.arr.length; i++) {
      arr.push({
          id: '\''+i.toString()+'\'',
          label: this.arr[i],
          display: () => this.arr[i]
      })
  }

答案 2 :(得分:1)

简化方法是使用.toString()方法。

for(var i=0; i < this.arr.length; i++) {
  arr.push({
      id: i.toString(),
      label: this.arr[i],
      display: () => this.arr[i]
  })
}

实施例

let arr = [];
for(var i = 0; i < [1, 2, 3, 4].length; i++) {
  arr.push({
    id: i.toString()
  })
}
console.log(arr)

答案 3 :(得分:1)

替换 - id:'i',id:“'”+ i +“'”,

答案 4 :(得分:1)

问题是您需要将类型为i的{​​{1}}转换为number

类型

所以而不是:

string

你可以这样做:

id: 'i',

id: i.toString(),

id: ''+i,