|
как написать условие?
как написать условие?
если значение любого из селектов > 0 |
ES5 пример:
<select> <option value=0>Value 0</option> <option value=1>Value 1</option> </select> <select> <option value=0>Value 0</option> <option value=1>Value 1</option> </select> <button>Проверить</button> <script> Array.some || (Array.some = Function.prototype.call.bind(Array.prototype.some)); var selects = document.querySelectorAll('select'); function check() { var someIsPositive = Array.some(selects, function(select) { return select.value > 0; }); if (someIsPositive) { alert('Есть положительные'); } else { alert('Все нулевые'); } } document.querySelector('button').onclick = check; </script> |
test=function(arr){ try{arr.forEach(function(el){if(el<1) throw false})}catch(e){return e} return true } alert(test([1,2,3,4,5])) alert(test([1,2,0,4,5])) // true // false |
krutoy, предлагаю тебе мигрировать на другой портал: http://govnokod.ru/
Тебе там будет комфортно :) Но подход, да, интересный. В нескольких случаях его использовал. |
<!DOCTYPE HTML> <html> <head><meta charset="windows-1251" /> </head> <body> <select> <option value=0>Value 0</option> <option value=1>Value 1</option> </select> <select> <option value=0>Value 0</option> <option value=1>Value 1</option> </select> <button>Проверить</button> <script> test=function(){ var sels = document.getElementsByTagName('select'), arr=[] for(var i=0; i<sels.length; i++) arr.push(sels[i].value) try{arr.forEach(function(el){if(el<1) throw false})}catch(e){return e} return true } document.querySelector('button').onclick = function(){alert(test())}; </script> </script> </body> </html> |
Цитата:
|
рони,
А почему нет? Вообще, я где то слышал, что windows-1251 быстрей. |
Цитата:
var someIsPositive = false; for (var i = 0; i < selects.length; i++) { if (+[i].value > 0) someIsPositive = true; } |
Erolast,
forEach - более высокоуровневая конструкция, с ней проще, уровень абстракции другой, проще комбинировать. |
Цитата:
Я то не про forEach говорю. А krutoy, просто не в курсе про some() вот и пишет, как обычно, говнокод ) А может намеренно это делает. Хотя нет, не буду его переоценивать ) |
Часовой пояс GMT +3, время: 19:03. |
|