Показать сообщение отдельно
  #1 (permalink)  
Старый 08.01.2017, 08:14
Новичок на форуме
Отправить личное сообщение для greyzak Посмотреть профиль Найти все сообщения от greyzak
 
Регистрация: 08.01.2017
Сообщений: 2

Помогите с удалением анаграмм из массива
Начал изучать JS. Вот делаю задание из учебника learn.javascript: удалить анаграммы из массива. Код написал. Вроде все работает. Только вот загвоздка: почему-то удаляет и гробик и киборг, с остальным нормально работает. Вопрос почему?
Другой код, который будет удалять все правильно, знаю. Вопрос именно в том почему здесь гробик и киборг удаляются вместе.
function aclean(arr){
	var tmpArr = [];
	var tmp;
	for (var i = 0; i < arr.length-1; i++){
		for (var j = i+1; j < arr.length; j++){
			if(arr[i].length != arr[j].length) continue;
			tmp = "";
			for (var a = 0; a < arr[i].length; a++){
				for (var b = 0; b<arr[j].length; b++){
					if(arr[i][a].toLowerCase == arr[j][b].toLowerCase){
						tmp += arr[i][a];
						break;
					}
				}
			}
			if(arr[i] == tmp){
				arr[i] = null;
				break;
			}
		}
	}
	for (i = 0; i < arr.length; i++){
		if(arr[i] !== null){
			tmpArr.push(arr[i]);
		}  
	}
	return tmpArr;
}
var arr = ["воз", "дома", 'икиборг', "киборг", "корсет", "ЗОВ", "мода", "гробик", 'гробики', "костер", "сектор"];
alert(aclean(arr));
Ответить с цитированием