这个问题在这里已有答案:
我有两个需要连接的变量,然后打印另一个变量的值,该变量具有我刚加入的变量的名称。
我有:
var NoQ = "1234, 4321, 6789"
var NoQ1 = "Number: " + NoQ.slice(0,4);
var NoQ2 = "Number: " + NoQ.slice(5,9);
var i = 1 //i is in a for loop so i++
console.log(NoQ+i)
//prints 1234, 4321, 67891
我希望NoQ
和i
在伐木之前加入到技术上成为NoQ1
。
预期产量:Number: 1234
我该如何实现这一目标?
任何帮助表示赞赏。
最好将Array
用于订购商品,并使用索引返回值。
想要的类型不可能在变量中获取用于访问值的变量。
var noQ = "1234, 4321, 6789",
noQs = noQ.split(/,\s*/g).map(s => `Number: ${s}`);
console.log(noQs[0]);
像这样的东西?
var NoQ =“1234,4321,6789”;
var i = 1;
console.log('Number: ' + NoQ.split(', ')[i]);
您可以在window
上访问全局变量,这样您就可以使用数组访问语法来访问带有字符串值的变量:
var NoQ = "1234, 4321, 6789"
var NoQ1 = "Number: " + NoQ.slice(0,4);
var NoQ2 = "Number: " + NoQ.slice(5,9);
var i = 1 //i is in a for loop so i++
for (let i = 1; i <= 2; ++i)
console.log(window['NoQ' + i])
使用模板字符串构建输出字符串,并使用正则表达式将string.split()
分割为逗号,并删除额外的空格:
const NoQ = "1234, 4321, 6789"
const NoQi = i => `Number: ${NoQ.split(/,\s*/)[i - 1]}`
console.log(NoQi(1))
console.log(NoQi(2))
console.log(NoQi(3))
尝试console.log(window['NoQ'+i])
不是最好的解决方案,但它是最接近你想要做的。