Задать вопрос
@mrdo
мне 20 я учусь веб программирование

Как отсортировать элементы массива по возрастанию и вернуть true или false?

function sortA(x){
	if (x.sort(function(a, b){a-b})) {
		return true
	}
	return false
}
console.log(sortA([4,3,5,8,44,88,23,145]))


нужно вернуть true если элементы массива отсортированны по возрастанию, а если нет то false. Что не так в коде?
  • Вопрос задан
  • 261 просмотр
Подписаться 1 Простой 2 комментария
Решение пользователя Сергей Соколов К ответам на вопрос (2)
sergiks
@sergiks Куратор тега JavaScript
♬♬
нужно вернуть true если элементы массива отсортированны по возрастанию, а если нет то false. Что не так в коде?
«Не так» здесь то, что никак не проверяется отсортированность массива.

Надо пройти по элементам, и если хоть один окажется меньше предыдущего, сразу вернуть false.
Иначе вернуть true.
spoiler
function isSorted(arr) {
  const length = arr.length;
  if (length < 2) return true;
  for (let i = 1; i < length; i++) {
    if (arr[i] < arr[i - 1]) return false;
  }
  return true;
}

isSorted([1,2,2,5,9])  // true
isSorted([4,3,5,8,44,88,23,145])  // false
Ответ написан
Комментировать