{
if (array.length < 2 || array === null) {
return 0
}
let sortArray = array.sort((a, b) => a - b) //?
let spliceFirstElemFromArray = sortArray.splice(1) //?
let spliceLastElemFromArray = spliceFirstElemFromArray.splice(0, spliceFirstElemFromArray.length - 1) //?
return spliceLastElemFromArray.reduce((sum, e) => sum + e) //?
}
sumArray(null) // 0
сначала на null проверяйте
У null нету поля length
странно что так
не понятно почему условие не рассматривает второй вариант
Поменяй местами и будет рассматривать
Так а "почему"
Почитай про работу логических операторов, так проще будет
Потому что он рассматривает сначала первое, а в нем array - null null.length - это ошибка, а не false
И кста чтобы тебе подсказали решение не обязательно сидеть с женского акка
Стоит ли тратить время на объяснение что и почему с этого акка сижу? Чат не для этого
Если есть время то почитай learn.javascript.ru
Мне и не интересно, я просто дал знать, мало ли ты считал иначе, дело то твоё
Отвечу коротко - я для этих целей не рассматривал сидеть с женского аккаунта. Не тяжело подумать что я б писал от женского лица тогда
нет, не странно во-первых, оно уже свалилось с ошибкой, дальше не пойдёт во-вторых, если стоит ИЛИ, то второе будет проверяться, только если первое - false
Спасибо за развернутый ответ
Как по мне это полностью можно осознать если прочитать небольшую статейку, я то и сам вроде раньше примерно понимал как это работает но оказалось что не до конца, но это канеш если есть время
Не, я немного о другом, о том как работают эти операторы, что они возвращают в тех или инных ситуациях
Про ошибки в нулл - знаю лишь что длину нельзя посчитать но не то чтобы if не рассматривал || в сравнении null
да чё там читать, && вылетает по первому false, || по первому true
Я вроде это понимал, но только как прочитал, словно осенило
Может это просто я такой тугодум😄
Обсуждают сегодня