JavaScript
Если в массиве меньше 2-х чисел, вернуть строку, сообщающую, что чисел недостаточно.
Напишите функцию, которая будет находить и возвращать наименьшее и наибольшее число в массиве. Если в массиве меньше 2-х чисел, вернуть строку, сообщающую, что чисел недостаточно.
В JS - вот так:
В Python - вот так:
Для тестирования:
function minmax(lst) {
return lst.length > 1 ? [Math.min.apply(null, lst), Math.max.apply(null, lst)] : "Чисел недостаточно";
}
Для тестирования: print(minmax([1, 2, 3]));
print(minmax([1]));
Вывод: 1,3
Чисел недостаточно
В Python - вот так:
def minmax(a):
return "Чисел недостаточно" if len(a) < 2 else (min(a), max(a))
(правда, этот гнилой полиморфизьм не очень удобен в дальнейшем использовании, но для выполнения условия задачки сгодится)Для тестирования:
a = [int(s) for s in input().split()]
print(minmax(a))
Примеры (первая строка - ввод, вторая - вывод): 1 4 5 9 3
(1, 9)
1
Чисел недостаточно
2 1
(1, 2)
Плюс бонус с условиями, тебе полезно будет, надеюсь.
function returnMin(array) {
if (Array.isArray(array) && array.reduce((a,b) => !isNaN(b))) {
if (array.length === 2) {
const number = array[0] > array[1] ? array[1] : array[0];
return `В массиве два числа, наименьшее из них: ${number}`;
} else if (array.length > 2) {
const number = array.reduce((a,b) => a > b ? b : a, 0);
return `В массиве больше двух чисел, наименьшее из них: ${number}`;
} else {
return 'В массиве недостаточно чисел';
}
} else {
return 'Указано некорректное значение';
}
}
Поступить можно было бы проще, используя математические функции. Но это делает функцию в основном бессмысленной. const calcNumbers = (array) => {
if (array.length > 1) {
return [Math.min(...array), Math.max(...array)]
}
return 'Чисел недостаточно'
}
const array = [1, 2];
function calc(array) {
if (array.length >= 2) {
const min = Math.min(array);
console.log('min', min);
const max = Math.max(array);
console.log('max', max);
return {min, max};
} else console.log('Чисел недостаточно')
}
//Если нужен объект с результатами можем его сохранить в переменную
let result = calc(array);
Похожие вопросы
- Чем можно заменить eval() в javascript? Нужно получить итоговое число в строке "2 * 10 + 5 / 4"
- Заполнение массива случайными простыми числами в диапазоне от 2 до n
- Как менять строки и столбцы в двумерном массиве JS
- Как правильно найти наибольший и наименьший значения массива?
- Помогите избавиться от пустых значений в массиве.
- Как найти максимальное значение в массиве массивов?
- вопрос про массивы
- Программирование Джава. Написать код на упорядочивание массивов.
- Нужна помощь в массиве JavaScript
- Сравнение двухмерного массива