Показать сообщение отдельно
  #11 (permalink)  
Старый 01.02.2016, 14:19
Аватар для destus
Профессор
Отправить личное сообщение для destus Посмотреть профиль Найти все сообщения от destus
 
Регистрация: 18.05.2011
Сообщений: 1,207

Сообщение от diga Посмотреть сообщение
спасибо всем, а если теперь попробовать немного усложнить задачу следующим образом:
все тоже самое, только результатом должен быть 2 массива, которые отличается между собой регистром.
т.е. если
newArr = ['P','P','Q','R'];
oldArr = ['P','P', 'Q', 'p', 'Q','R', 'p'];


результатом будет res1=['Q'] и res2=['p', 'p']
А цифры куда? Вообще вот (здесь цифры идут к символам в нижнем регистре)

<script>	
		
		var newArr = ['P','P','Q','R'], oldArr = ['P','P', 'Q', 'p', 'Q','R', 'p'], arr1=[], arr2=[];
		var pattern = /[A-Z]/;
		for (var i = 0; i < oldArr.length; i++)
		{
			var elem = oldArr[i];
			var index = newArr.indexOf(elem);
			if ( index != -1){
				newArr.splice(index,1);	
			}
			else { 
			if (pattern.test(elem)) arr1.push(elem);
				else arr2.push(elem); 
			}			
		}
		document.write(arr1+"<br>" + arr2);
		
   </script>
Ответить с цитированием