Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #11 (permalink)  
Старый 30.07.2012, 15:52
Профессор
Отправить личное сообщение для oneguy Посмотреть профиль Найти все сообщения от oneguy
 
Регистрация: 31.05.2012
Сообщений: 396

Дело в том, что у вас случается, что при вычислении arr[y1][x1] у arr нет элемента с индексом y1. Тогда arr[y1] возвращает undefined, а всё выражение бросает TypeError, так как undefined не может быть в левой части оператора []. Это можно исправить так:
(y1 in arr) && arr[y1][x1]==symbol

или
arr[y1]!=undefined && arr[y1][x1]==symbol

Последний раз редактировалось oneguy, 30.07.2012 в 16:03.
Ответить с цитированием
  #12 (permalink)  
Старый 30.07.2012, 16:15
Аспирант
Отправить личное сообщение для ozzon91 Посмотреть профиль Найти все сообщения от ozzon91
 
Регистрация: 09.05.2012
Сообщений: 47

Цитата:
(y1 in arr) && arr[y1][x1]==symbol

или
arr[y1]!=undefined && arr[y1][x1]==symbol
спасибо, это решение хорошее.

Вот отладил функцию кому не трудно простестируйте

function szuw(y, x, symbol) {
    arr[y][x] = symbol;
    var score1 = 0;
    var score2 = 0;
    if((x == 0) && (y == 0)) score1 = 1;
    if((y == 0) && (x != 0 && x >= 1)) score1 = 1;
    var y1 = y;
    var x1 = x;
   for(var i = 0; i<=(arr.length-y1-1); i++){
       if (arr[y1+i][x1+i] == symbol) {
        score2++;
        }
    }
   for(var i = 0; i<=y-1; i++){
       if (arr[y-i][x-i] == symbol) {
        score1++;
        }
    }
    return score1 + score2 - 1;
}
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Выполнить функцию заранее неизвестную Neokortex jQuery 2 13.02.2012 12:41
как реализовать передачу функции в функцию?? czp Общие вопросы Javascript 10 29.11.2011 19:21
checkbox включен запускаем одну функцию выключен другую Sadist_dead Элементы интерфейса 11 27.09.2011 10:46
проблема с передачей параметров в функцию bartonom Элементы интерфейса 4 19.09.2011 12:41
Как получить указатель на элемент вызвавший функцию pelayo Общие вопросы Javascript 9 29.06.2010 23:32