Проверить, все ли элементы массива удовлетворяют условию одновременно 
		
		
		
		Подскажите, как проверить, все ли элементы массива удовлетворяют какому-либо условию одновременно. 
	Что почитать? Например, мне нужно узнать, все ли элементы числового массива an = [a1,a2,a3,a4,a5] целые, и, если это так, то умножить их на 2, если же хоть один нецелый, то не изменять их. Как проверять на целость число, знаю: number%1==0. Получилось проверять только каждый элемент отдельно :( 
<script>
function transformSequence(a1,a2,a3,a4,a5)
{
    var an = [a1,a2,a3,a4,a5];
    for (var i=0; i<an.length; i++){ if (an[i]%1==0)  an[i] *= 2; }
    return an.join(', ');
}
</script>
<button onclick="alert(transformSequence(11,-2,3,-4,5))">Проверить 11, -2, 3, -4, 5</button><br>
<button onclick="alert(transformSequence(0.5,2,1,-7,8))">Проверить 0.5, 2, 1, 7, 8</button>
 | 
	
		
 В ECMAScript 5 добавлены соответствующие методы массивов — .every() и .map(): 
	
var arr = [11,-2,3,-4,5],
    allInt = arr.every(function (elem) {
        return elem % 1 == 0;
    });
if (allInt) {
    arr = arr.map(function (elem) { return elem * 2; });
}
alert(arr);
 | 
	
		
 
<script>
function trsfrmSqnce(a) {return a.join('').search(/,|\./)==-1;}
</script>
<button onclick="alert(trsfrmSqnce([11,-2,3,-4,5]))">Проверить 11, -2, 3, -4, 5</button><br>
<button onclick="alert(trsfrmSqnce([0.5,2,1,-7,8]))">Проверить 0.5, 2, 1, 7, 8</button>
 | 
	
		
 Deff, 
	1e-1 :) А, не, черт. .join() преобразует в десятичную нотацию 1e-18  | 
	
		
 Цитата: 
	
 
<script>
function trsfrmSqnce(a) {return a.join('').search(/,|e-|\./)==-1;}
</script>
<button onclick="alert(trsfrmSqnce([11,-2,3,-4,5]))">Проверить 11, -2, 3, -4, 5</button><br>
<button onclick="alert(trsfrmSqnce([0.5,2,1,-7,8]))">Проверить 0.5, 2, 1, 7, 8</button>
 | 
	
		
 Deff, тогда уж с флагом i для полноты счастья. :yes: 
	Хотя необязательно, наверное. join все равно переведет в нижний регистр.  | 
	
		
 Amphiluke, 
	Да тут не соль - функция ток проверяет при зараннее заданном условии что все цифры, так шо чисто повыпендривацо  | 
	
		
 Всем спасибо. Всё пригодилось :thanks: 
	 | 
	
		
 Цитата: 
	
 А то IE8 пишет, что объект не поддерживает это свойство или метод :-E  | 
	
		
  | 
	
		
 Amphiluke, 
	Спасибо, вроде разобрался :thanks:  | 
| Часовой пояс GMT +3, время: 07:20. |