我有一些代码片段
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; .....
答案 0 :(得分:1)
如果您说要引用的数字,请执行以下操作:
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;
这使用模板文字将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,