Доступ к массиву Javascript не работает в IE 7 - PullRequest
1 голос
/ 17 ноября 2011

У меня есть этот нелепо легкий кусок кода.Это работает безупречно на Firefox и Chrome, но не в IE.Я никогда не отлаживал в IE, так что, возможно, это хорошо известная проблема.

  for (i = 0; i < word_array.length; i++) {

    word_array[i].weight = parseFloat(word_array[i].weight, 10);
  }

Он говорит, что word_array является нулем или не является объектом.word_array - это массив, содержащий объекты с полем веса и строковым полем.Если я попытаюсь напечатать, например,

word_array[0].weight 

непосредственно перед этим кодом, это сработает.То же самое для печати индекса "i" и parseFloat (...).

1 Ответ

0 голосов
/ 17 ноября 2011

Публикация этого ответа как ответа, который не помещается в комментарии ...

Первое, на что я обращаю внимание при возникновении проблем с IE в JavaScript, - это запятые в массивах или объектах.Например,

var word_array = [
    { weight: 1, text: "a" },
    { weight: 2, text: "b" }, // see this trailing comma here
];

Это будет работать в браузерах, отличных от IE, но сбои в IE всеми возможными способами.

Кроме того, действительно ли ваше "строковое поле" называется "строкой"?Это может вызвать проблемы, хотя я могу ошибаться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...