Это для вызова кодера, который я закончил некоторое время назад. Ваша функция должна получить вторую величайшие и второй низкие цифры Вот что я первоначально использовали:confused about indexOf (array [0])
function SecondGreatLow(arr){
var sorted = arr.sort(function(a,b){
return a-b;
});
return sorted[1] + " " + sorted[arr.length - 2];
}
SecondGreatLow(readline());
я получил два случая плохого в этой функции одной из них ([2,2,2,5,5, 5,6]), потому что есть повторяющиеся числа. Я реализовал это в мой новый код:
function SecondGreatLow(arr) {
var exclude = [arr[0]];
for(var i = 1; i < arr.length; i++) {
if (exclude.indexOf(arr[i]) == -1) {
exclude.push(arr[i]);
}
}
return exclude
}
SecondGreatLow([33,33,33,44,44,44,55,55,6,4,3])
Мой вопрос, как же это найти все дубликаты номеров? Не исключена ли переменная (arr [0]) 33? Я смущен, как это избавится от всех повторяющихся чисел.
Я тоже смущен. Я не вижу, где определен 'unique'. Код должен вызывать 'ReferenceError'. –
oops sorry отредактировал это у меня было старое имя переменной там должно быть понятно сейчас –
ОК, поэтому я предполагаю, что имя функции теперь неправильно. Функция возвращает уникальные значения массива, а не второе и второе наименьшее значение. Верный? –