| 
 Оптимизация кода Уважаемые форумчане, я JavaScript плохо знаю, помогите оптимизировать участок кода: 
err='';
var elems = document.querySelectorAll('[data-text]');
for (var i=0; i < elems.length;i++){
	if  (elems[i].hasAttribute('required')){
		if (elems[i].getAttribute('type') == 'checkbox'){
			if (elems[i].checked == false){
				err = elems[i].dataset.text;
				break;
			}
		}else{	
			if (elems[i].value == ''){
				err = elems[i].dataset.text;
				break;
			}
		}
	}
}
 | 
| 
 oryth, может не надо? | 
| 
 почему не надо? так можно его оптимизировать? | 
| 
 можно ли сделать чтобы был один или два if внутри цикла? | 
| 
 oryth, 
err = "";
[].every.call(document.querySelectorAll("[data-text][required]"), function(a) {
    return a.checked && "checkbox" == a.type || a.value && "checkbox" != a.type || !(err = a.dataset.text)
});
 | 
| 
 рони, спасибо большое | 
| 
 рони, отлично, почитал про every и call, на подобие (с другими условиями и ) заменил в другом месте. Еще раз большое спасибо | 
| 
 Доброго времени суток! Только начал изучать JS. В книге была дана такая задачка: Нужно было найти определенные буквы в тексте и заменить их на цифры с помощью цикла for. Можно ли написать этот код короче и как? var input = "javascript is awesome"; var output = ""; for (var i = 0; i < input.length; i++){ var outputSign = input[i]; if (outputSign == "a"){ output += 4; } else if (outputSign == "e"){ output += 3; } else if (outputSign == "i"){ output += 1; } else if (outputSign == "o"){ output += 0; } else { output += outputSign; }; }; document.write(output); | 
| 
 Miha-78, 
var obj = {a : 7, b : 12, c : 38}, str = "aaccddcc";
str = str.replace(/([abc])/g, function(a, b) {
    return  b in obj ? obj[b] : b
})
alert(str);
 | 
| 
 Большое спасибо!  Попытавшись проанализировать ваш код я понял, что вы пошли путем создания объекта, но дойдя до строки 5 там где открывается скобка (, понимать стало труднее ). Строка 4 это вы создали переменную я правильно понял? 1. var obj = { 2. a : 7, 3. b : 12, 4. c : 38 }, 4. str = "aaccddcc"; 5. str = str.replace(/([abc])/g, function(a, b) { return b in obj ? obj[b] :b }) alert(str); | 
| Часовой пояс GMT +3, время: 22:41. |