Здравствуйте !
Написал цикл , который должен сортировать массив с анаграммами и оставлять только уникальные элементы , но проблема в том что , когда я ставлю на запись в другой массив (sarr) одно значение он записывает а если с другого то нет , в данном случае выведет только 3 значения как и положено
var arr = ["воз", "ЗОВ", "корсет", "киборг","киборг", "гробик", "костер", "сектор"];
var arr2=[];
/*function sort(a,b){
return a-b;
}*/
function clear (arr){
var arr3=[];
for(var i = 0 ; i<arr.length ; i++){
arr3.push(arr[i].toLowerCase().split(''));
arr3[i].sort();
arr2.push(arr3[i].join(''));
}
var sarr=[]; /* сюда должны записываться уникальные элементы , уже отсортированные */
next:
for(var i = 0 ; i<arr.length; i++){
for(var j = 0 ;j<sarr.length ; j++ ){
if(arr2[i]==sarr[j])
continue next;
}
sarr.push(arr2[i]); /*если здесь будет записано данное значение то он выведет 3 элемента но отсортированных в алфавитном порядке */
}
console.log(sarr);
}
clear(arr);
console.log(arr);
["взо", "екорст", "бгикор"]
а в вот этом нет
var arr = ["воз", "ЗОВ", "корсет", "киборг","киборг", "гробик", "костер", "сектор"];
var arr2=[];
/*function sort(a,b){
return a-b;
}*/
function clear (arr){
var arr3=[];
for(var i = 0 ; i<arr.length ; i++){
arr3.push(arr[i].toLowerCase().split(''));
arr3[i].sort();
arr2.push(arr3[i].join(''));
}
var sarr=[]; /* сюда должны записываться уникальные элементы , уже отсортированные */
next:
for(var i = 0 ; i<arr.length; i++){
for(var j = 0 ;j<sarr.length ; j++ ){
if(arr2[i]==sarr[j])
continue next;
}
sarr.push(arr[i]); /*если здесь будет записано данное значение то он выведет все 8 элементов несмотря на continur next*/
}
console.log(sarr);
}
clear(arr);
console.log(arr);
["воз", "ЗОВ", "корсет", "киборг", "киборг", "гробик", "костер", "сектор"]
вроде бы когда выполняется continue next цикл не должен в принципе переходить туда , но этого не происходит . Пожалуйста объясните почему происходит так (интересно почему а не только решение ), и направьте на правильный путь , могу решить задачу другим методом но мне конкретно интересно почему происходит именно так , так как обучаюсь и хочу понять , чтобы в будущем не наткнуться на что то аналогичное .
Заранее спасибо !!!!