Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   В чем разница? (https://javascript.ru/forum/misc/70381-v-chem-raznica.html)

suve 01.09.2017 14:18

В чем разница?
 
Функция проверяющая одинаковость чисел в массиве.
Почему не работает первый вариант кода?

var arr = [1,2,1,1,1,1];
function prRev (arr) {
var currentitem = arr[0];
for (i=0; i<arr.length; i++) {
if (currentitem === arr[i]) {
return true;
}

}
return false;
}

--------------------------------------------
а этот работает?

var arr = [1,2,1,1,1,1];
function prRev (arr) {
var currentitem = arr[0];
for (i=0; i<arr.length; i++) {
if (currentitem !== arr[i]) {
return false;
}

}
return true;
}

Почему === не работает, а !== работает?

Заранее спасибо!

nerv_ 01.09.2017 14:39

Цитата:

Функиция выбирающая наибольшее число в массиве.
alert(Math.max(...[1,2,1,1,1,1]))

пожалуйста :)

suve 01.09.2017 14:40

Спс, но хотелось бы понять все-таки где там собака зарыта )

Nexus 01.09.2017 14:41

Цитата:

Сообщение от suve
Функиция выбирающая наибольшее число в массиве.

Лучше так:
alert(Math.max.apply(Math,[1,2,1,9,3,1]));//9

ksa 01.09.2017 14:41

Цитата:

Сообщение от suve
Функиция выбирающая наибольшее число в массиве.

Твои функции, ни одна, не выполняют поставленной задачи. :no:

Цитата:

Сообщение от suve
Почему === не работает, а !== работает?

Не хотел тебя расстраивать... Но они все работают.

suve 01.09.2017 14:42

Пардон муа, решала другую задачу и написала не то описание :blink:

ksa 01.09.2017 14:42

Цитата:

Сообщение от suve
хотелось бы понять все-таки где там собака зарыта )

Все в твоей голове. ;)
Алгоритм поиска максимального элемента в массиве ты не реализовал. Просто написал какие-то буквы и все. :(

Rasy 01.09.2017 14:42

Это не поиск наибольшего числа в массиве.
В первом случае код ищет число в массиве равное первому элементу массива и на первом цикле останавливается.
Вторая функция находит число два, т.к. оно не равно единице - первому элементу массива.

Вот правильный код.
var arr = [1,2,1,1,1,1];

var getMaxInt = function(array) {
  return Math.max.apply(Math, array);
}
getMaxInt(arr);

ksa 01.09.2017 14:43

Цитата:

Сообщение от suve
решала другую задачу и написала не то описание

Так что нужно в итоге? :)

Nexus 01.09.2017 14:43

Цитата:

Сообщение от suve
Спс, но хотелось бы понять все-таки где там собака зарыта )

у вас в логике работы дырень огромная.
Прочитайте ваш код еще раз, возможно поймете, что глупость написали.


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