Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   indexof в функцию (https://javascript.ru/forum/misc/39118-indexof-v-funkciyu.html)

kolyas 16.06.2013 21:23

indexof в функцию
 
У меня часто используется indexOf и для сокращения я выкинул в фунцию часть кода:

function istut(where, who){
	if (where.indexOf(who) != -1) return true;
	return false;
}


вопрос по производительности: без разницы использовать функцией или не сокращая. или на одном проходе это не заметно?

danik.js 16.06.2013 21:57

Цитата:

Сообщение от kolyas
вопрос по производительности: без разницы использовать функцией или не сокращая. или на одном проходе это не заметно?

На одном проходе точно разницы нет. Дайте нормальное имя функции, уберите дибильный if () - зачем он нужен, если результат сравнения и есть true/false

function contains(where, who){
    return where.indexOf(who) !== -1;
}


ES Harmony вроде как может появиться String.prototype.contains

kolyas 16.06.2013 22:17

спасибо. и код у вас чище.

Про
Цитата:

Сообщение от danik.js (Сообщение 256694)
ES Harmony вроде как может появиться String.prototype.contains

не очень понял

если про
var contained = str.contains(searchString [, position]);


то мало где поддерживается.

оказывается я плохо искал.


if(!('contains' in String.prototype))
  String.prototype.contains = function(str, startIndex) { return -1!==this.indexOf(str, startIndex); };

nerv_ 17.06.2013 02:52

return ~where.indexOf(who);

рони 17.06.2013 03:06

nerv_,
return !!~where.indexOf(who);

nerv_ 19.06.2013 00:31

рони, если нужно вернуть булево, то да


Часовой пояс GMT +3, время: 20:07.