Я ищу способ прочитать переменную TXT из других переменных, которые в основном из счетчика таких.

Пример:

var txt0 = "this is txt 0"
var txt1 = "this is txt 1"
var txt2 = "this is txt 2"

counter = 0 // 1,2 or 3 etc
var a = (var+counter);  // this line output : var0;or var3 etc
$(h1').text(a);
console.log(a);
//answer I want is : this is text 0 or 1 or 2;

Я попытался создать базовый пример, чтобы продемонстрировать свою проблему, мне нужно использовать этот формат, так как большая часть другого кода зависит от динамики счетчиков, различных проверок другого контента.

0
Careen 10 Янв 2017 в 15:41

3 ответа

Лучший ответ

Вы можете сделать это с помощью этого кода: var a = window['txt'+counter];

var txt0 = "this is txt 0"
var txt1 = "this is txt 1"
var txt2 = "this is txt 2"

counter = 0; // 1,2 or 3 etc
var a = window['txt'+counter];
$('h1').text(a);
console.log(a);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<h1></h1>

Но, конечно, использование массива или объекта JSON будет более эффективным

2
Arkej 10 Янв 2017 в 12:51

Вы можете получить доступ, используя window

var a = window["var"+counter];  // this line output : var0;or var3 etc

Но вы должны использовать массив или объект JSON

var obj = {txt0 :"this is txt 0", txt1: "this is txt 1", txt2 = "this is txt 2"}

И доступ как

obj["var"+counter]
1
Sanjay Nishad 10 Янв 2017 в 12:48
var txt = ["this is text 0", "this is text 1", "this is text 2"];

var counter = 0;
/* You should make sure counter is within [0; txt.length - 1 ] */
$('h1').text(txt[counter]);
0
ValLeNain 10 Янв 2017 в 12:48