У меня есть простой строки и я разбить его на массив:Javascript, основной ассоциативный массив
var alphabet = "a,b,c,d,e";
var letters = alphabet.split(",");
var dict = [];
for (var i = 0; i < letters.length; i++) {
dict[ letters[i] ] = true;
}
Что пни меня в том, что, когда я сделать
console.log(dict[letters[0]] +"|"+ dict["a"]);
Я получаю
//true|undefined
Я не понимаю разницы между буквами [0] и «a». И я абсолютно уверен, что буквы [0] и «a» - оба типа строки.
EDIT: Я просто попытался изменить переменную «dict» из квадратных скобок в фигурные, но она по-прежнему дает мне неопределенное значение.
EDIT 2: Ниже приведен код, с которым я работаю. «dictionary.txt» - это текстовый файл, содержащий около 90 тыс. слов, разделенных символом «\ n». В этом текстовом файле буква «a» находится в первой строке.
$.get("tiles/dictionary.txt", function(txt) {
// Get an array of all the words
var words = txt.split("\n");
// And add them as properties to the dictionary lookup
// This will allow for fast lookups later
for (var i = 0; i < words.length; i++) {
dict[ words[i] ] = true;
}
console.log(dict[words[0]]+"|"+dict["a"]);
});
Возможно, мне следовало только начать с этого, вместо того чтобы пытаться упростить его версию.
Мой локальный Node.JS и JSFiddle, созданные @Ajwhiteway, работают как написано, поэтому это не код. Какую реализацию JS вы используете? –
@MarkReed привет Марка, пожалуйста, см. Мой EDIT 2, спасибо. Я не уверен, что JS использует, но im на Netbeans 8.0.2 – Vibol
Таким образом, ни одна из строк файла не является просто 'a'. Возможно, есть пробелы помимо новой строки? –