Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.08.2016, 21:03
Интересующийся
Отправить личное сообщение для diprom Посмотреть профиль Найти все сообщения от diprom
 
Регистрация: 21.05.2011
Сообщений: 24

портирование функции
здравствуйте. подскажите, как более понятно переписать функцию
indexElementMatchingFunction. Не очень понятно, как передать функцию Apoint.

function grep (a, b, c)
{

var d, e = [],
f = 0,
g = a.length;
c = false;
for (; f < g; f++) d = !!b(a[f], f), c !== d && e.push(a[f]);
return e
}



function filterFirstMatchingElement(array, fn)
{
var element = grep(array, fn)[0];
return element;
}

function indexElementMatchingFunction(array, fn) {

var element = filterFirstMatchingElement(array, fn);
return array.indexOf(element);
}

function pointsEqual(currentPoint, Apoint)
{
return false; // may be true
}

currentIndex = indexElementMatchingFunction(currentPolygon, function(Apoint)
{
return pointsEqual(currentPoint, Apoint);
});
Ответить с цитированием
  #2 (permalink)  
Старый 13.08.2016, 21:23
Интересующийся
Отправить личное сообщение для diprom Посмотреть профиль Найти все сообщения от diprom
 
Регистрация: 21.05.2011
Сообщений: 24

Описание функции pointsEqual

function pointsEqual(point1, point2) {
if (!point1)
return false;
if (!point2)
return false;
// return point1.x == point2.x && point1.y == point2.y;
return numbersEqual(pointsDistance(point1, point2), 0);
}

function numbersEqual(num1, num2) {
return Math.abs(num2 - num1) < 1e-14;
}

function pointsDistance(point1, point2) {
return Math.pow(Math.pow(point2.x - point1.x, 2) + Math.pow(point2.y - point1.y, 2), 0.5);
}
Ответить с цитированием
  #3 (permalink)  
Старый 14.08.2016, 07:04
Интересующийся
Отправить личное сообщение для diprom Посмотреть профиль Найти все сообщения от diprom
 
Регистрация: 21.05.2011
Сообщений: 24

Это замыкание. Как его обойти?
Ответить с цитированием
  #4 (permalink)  
Старый 14.08.2016, 08:43
Интересующийся
Отправить личное сообщение для diprom Посмотреть профиль Найти все сообщения от diprom
 
Регистрация: 21.05.2011
Сообщений: 24

все решил, можно тему закрывать
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменение прототипа функции tsigel Общие вопросы Javascript 11 15.05.2014 01:03
Добавление функции внутрь другой функции Lion_astana jQuery 9 28.12.2013 14:33
Установить имя конструктора Андрей Параничев Общие вопросы Javascript 8 17.11.2011 10:09
arguments вызвавшей функции mister_maxim Общие вопросы Javascript 4 12.10.2010 16:21
Подскажите, как работает простой код (замыкание функции)? Dotod Общие вопросы Javascript 5 02.12.2009 04:03