2015-06-30 2 views
-1

Первый вопрос, может быть, немой, быть легко на меня.javascript, превратите строку в код?

Итак, у меня есть создатель объекта, за которым следует набор переменных a-z, которые создают 26 объектов с именами a-z. У меня есть фрагмент кода, который генерирует случайную букву из a-z, и я хотел бы отобразить свойство случайно выбранного объекта, но буква генерируется как строка, а "a".type выходит как неопределенный (понятно). поэтому мне нужно взять эту строку и удалить цитаты из нее в основном, поэтому я могу ее использовать. я нашел где-то здесь кто-то сказал, что ("a").charAt(0) будет работать, но это не в моем случае. Heres очень упрощенная версия кода

function Object(type) { 
    this.type = type; 
}; 

var a = new Object("annoying"); 

var random = "a"; 

console.log((random).type); 

Я просто хочу, чтобы войти "annoying" но я считаю, что chance.character делает его войти "a".type вместо a.type. Поэтому мне нужен способ превратить строку ito в полезную часть кода, чтобы я мог ссылаться на переменную.

+6

Прежде всего, пожалуйста, не перезаписать глобальную функцию «Объект». – Bergi

+0

"* набор переменных *" - есть твоя ошибка. Сделайте массив или объект, к которому вы можете получить доступ по имени свойства. – Bergi

+0

Я НЕ ПОЗВОЛЯЮ. Я просто попытался привести этот более крупный фрагмент кода в быстрый пример и сделал это здесь. – Cozzi

ответ

0

Если я не уверен, непонимание вопроса, вы должны быть в состоянии хранить свои объекты по их соответствующей буквой (в качестве ключа) в объект, содержащий примерно так:

var letterObjects = {}; 

function letterObject(type) { 
    this.type = type; 
}; 

letterObjects["a"] = new letterObject("annoying"); 

var random = (chance.character); 

console.log(letterObjects[random].type); //annoying 
Смежные вопросы