Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Строка в переменную (https://javascript.ru/forum/misc/40590-stroka-v-peremennuyu.html)

Mafa 12.08.2013 12:37

Строка в переменную
 
Здравствуйте!
Извлекаю значение атрибута(например, value). Получаю результат = "result". Подскажите пожалуйста, как мне этот "result" перевести в result? То бишь, использовать значение как имя переменной? Нужно для доступа к элементам массива(в виде result[0]).

Блин, надеюсь внятно выразила вопрос...

danik.js 12.08.2013 12:54

obj.result равносильно obj['result'] - то есть так можно использовать строку в качестве ключа

Mafa 12.08.2013 13:02

danik.js,
Пишет "obj is not defined".

Кусочек скрипта:
var count = $(".activeCountri").val();
if(maxves <= 50){alert(obj[count][0]);}
else if(100 >= maxves && 51 <=  maxves){alert(obj[count][1]);}



Неправильно использую obj? Впервые столкнулась с подобной задачей...

ksa 12.08.2013 13:20

Цитата:

Сообщение от Mafa
Пишет "obj is not defined".

Так определи его...

var o={};
o.result=1;
test("result");
function test(Name) {
   alert(o[Name]);
};

Mafa 12.08.2013 13:34

ksa, ничччего не поняла...
Мой result тут:
var result = $(".activeCountri").val();

А потом надо "достучаться" до массива с именем result:
if(maxves <= 50){alert(result[0]);}

Как ещё его объявить? Ну пробка я...

Mafa 12.08.2013 14:17

Не могу найти внятной инфы в сети, наверное потому что не могу грамотно сформулировать вопрос, блин.

Мне нужно строку преобразовать в объект, вроде так?

То бишь, строку "result" превратить в имя массива - result(и, соответственно, иметь доступ к его значениям через result[0], result[1], result[2], и т.д.)
Подскажите, как это сделать? Хотя бы ссылку дайте на обучающую статью, буду очень признательна.

Mafa 12.08.2013 14:36

Фухх, разобралась...

var result = eval($(".activeCountri").val());

ksa 12.08.2013 14:53

Цитата:

Сообщение от Mafa (Сообщение 267102)
Фухх, разобралась...

var result = eval($(".activeCountri").val());

За eval() тут ругают! :D

Mafa 12.08.2013 14:56

Цитата:

Сообщение от ksa
За eval() тут ругают!

Подскажите другое решение? Правда, я просто другого не нашла, видимо по неопытности)

ksa 12.08.2013 15:43

Цитата:

Сообщение от Mafa
Подскажите другое решение?

Я уже привел его выше...


Часовой пояс GMT +3, время: 16:00.