Начал изучать 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));