Можно ли упростить вторую линию, сохраняя код в трех строках одновременно? current
должно иметь значение «ошибка».Перерыв изнутри oneliner
for item in [ 1, 2, 3, undefined, 5, 6]
break if (current = if item? then item else "error") is "error"
console.dir current
Я пытался сделать что-то подобное, что не повезло:
for item in [ 1, 2, 3, undefined, 5, 6]
current = if item? then item else "error", break
console.dir current
Может быть, вы должны начать с простой постановке задачи вашего цикл пытается решить, а не пытаться заставить петлю быть компактным непрозрачным беспорядком: меньше строк, не означает лучший код, довольно часто это наоборот. Вы действительно пытаетесь сказать «ошибка», если что-либо в цикле «null» или «undefined» и в противном случае захватывает последний элемент массива? –
Нет, '' error'' - это просто пример. Исходный случай более сложный и даже не имеет дело с массивом в прямой форме. Вы правы в отношении меньшего количества строк и лучшего кода, но, с другой стороны, ничто не запрещает мне искать более элегантные строки, которые улучшали бы код, пока у меня есть время искать его. – user619271