如何连接两个变量来记录另一个变量[重复]

问题描述 投票:0回答:5

这个问题在这里已有答案:

我有两个需要连接的变量,然后打印另一个变量的值,该变量具有我刚加入的变量的名称。

我有:

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

我希望NoQi在伐木之前加入到技术上成为NoQ1

预期产量:Number: 1234

我该如何实现这一目标?

任何帮助表示赞赏。

javascript
5个回答
2
投票

最好将Array用于订购商品,并使用索引返回值。

想要的类型不可能在变量中获取用于访问值的变量。

var noQ = "1234, 4321, 6789",
    noQs = noQ.split(/,\s*/g).map(s => `Number: ${s}`);

console.log(noQs[0]);

0
投票

像这样的东西?

var NoQ =“1234,4321,6789”;

var i = 1;

console.log('Number: ' + NoQ.split(', ')[i]);

0
投票

您可以在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]) 

0
投票

使用模板字符串构建输出字符串,并使用正则表达式将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))

-2
投票

尝试console.log(window['NoQ'+i])不是最好的解决方案,但它是最接近你想要做的。

© www.soinside.com 2019 - 2024. All rights reserved.