 
			
				24.05.2013, 16:47
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.05.2013 
					
					
					
						Сообщений: 21
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Удалить и вернуть массив из удаленных элементов splice
			 
			
		
		
		
		Тут такой вопрос. Мне нужно удалить повторяющиеся элементы из массива и вывести массив из удаленных элементов в браузер. Получается что-то одно. Параллельно не получается. 
Тут функция возвращает удаленные элементы
 
function Dublicates(array) {
            var dubl = [];
            for (var i = 0; i < array.length; i++) {
                for (var j = i + 1;  j < array.length; j++) {
                    if (array[i][0] == array[j][0]) { // search for the same account numbers
                        dubl = array.splice(j, 1); //массив из удаленных элементов
                      
                    };                   
                };
            };
          
            return dubl; // возвращает массив из удаленных элементов
           
        }
А если пишу так то удаляет элементы из массива
 
function Dublicates(array) {
            var dubl = [];
      
            for (var i = 0; i < array.length; i++) {
                for (var j = i + 1;  j < array.length; j++) {
                    if (array[i][0] == array[j][0]) { // search for the same account numbers
                        array.splice(j, 1); //удаляет 
                    };                   
                };
            };
            return array; // удаляет
        }
Никак понять не могу как лучше сделать эти два действия в функции. Подскажите пожалуйста   
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.05.2013, 17:13
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 22.06.2012 
					
					
					
						Сообщений: 168
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 А что нужно получить в результате: массив без дублей или массив, состоящий из дублей исходного? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.05.2013, 18:06
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.05.2013 
					
					
					
						Сообщений: 21
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Demath, 
 
Есть массив аrray. Надо найти в колонке (array[i][0]) одинаковые элементы(дубли).  Если таковы есть, их надо удалить из массива array(т.е. получить массив без дублей)  
 
И список удаленных вывести в браузер.  
т.е. Надо получить массив состоящий из дублей исходного. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.05.2013, 18:08
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.05.2013 
					
					
					
						Сообщений: 21
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Много вариантов было. 
Один из них.. функция удаляет из исходного массива дубли. Вторая соответственно уже не может найти дубли.. Т.е. непонятно как его сделать.. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				25.05.2013, 21:55
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 22.06.2012 
					
					
					
						Сообщений: 168
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от Paulyyy
			
		
	 | 
 
	| 
		Есть массив аrray. Надо найти в колонке (array[i][0]) одинаковые элементы(дубли). Если таковы есть, их надо удалить из массива array(т.е. получить массив без дублей)
	 | 
 
	
 
 1. Что именно удалить: только сам повторяющийся элемент  array[i][0] или всю строку, его содержащую?
 
2. Могут ли повторяющиеся элементы встречаться более одного раза?
 
3. В случае, например,  array = [[15,2,-5],[1,2,4],[15,0,1],[15,11,5]], что должна вернуть функция?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.05.2013, 02:44
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.05.2013 
					
					
					
						Сообщений: 21
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от Demath
			 
		
	 | 
 
	
		1. Что именно удалить: только сам повторяющийся элемент array[i][0] или всю строку, его содержащую? 
 
2. Могут ли повторяющиеся элементы встречаться более одного раза? 
 
3. В случае, например, array = [[15,2,-5],[1,2,4],[15,0,1],[15,11,5]], что должна вернуть функция?
	 | 
 
	
 
 Удалить надо всю строку.
 
Более одного раза - нет.
 
Ну а по поводу третьего вопроса то вернет в консоле то что прикрепленном файле  
		
	
		
		
			
		
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.05.2013, 13:08
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Тлен 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.01.2010 
					
					
					
						Сообщений: 6,601
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 В первам случае он также удаляет элементы из массива как и во втором, функция возвращает массив удалённых элементов, при этом изначальный array изменяется. 
		
	
		
		
		
		
		
			
				__________________ 
				29375, 35 
 
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.05.2013, 15:44
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.05.2013 
					
					
					
						Сообщений: 21
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 array не меняется в первом случае.. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.05.2013, 15:52
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Тлен 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 02.01.2010 
					
					
					
						Сообщений: 6,601
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		А я говорю - меняется: 
array = [[15,2,-5],[1,2,4],[15,0,1],[15,11,5]]
function Dublicates(array) {
            var dubl = [];
 
            for (var i = 0; i < array.length; i++) {
                for (var j = i + 1;  j < array.length; j++) {
                    if (array[i][0] == array[j][0]) { // search for the same account numbers
 
                        dubl = array.splice(j, 1); //массив из удаленных элементов
                       
                    };                  
                };
            };
           
            return dubl; // возвращает массив из удаленных элементов
            
}
alert(array)
alert( Dublicates(array) )
alert(array)
Читаем про то, как работает  splice.  
		
	
		
		
		
		
		
			
				__________________ 
				29375, 35 
 
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.05.2013, 17:33
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Интересующийся 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 01.05.2013 
					
					
					
						Сообщений: 21
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Просто когда я вызываю эту функцию для array то она конечно удаляет. Но когда я хочу вывести удаленные в браузер то вот тут не получается.. 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |