Hello everyone !
In advance i want to say , that i am learning programming , and its possible that i dont understand something from basics , so my problem is that i have a
for loop and this for must sort anagrams , but its not working code here->
var arr = ["воз", "ЗОВ", "корсет", "киборг","киборг", "гробик", "костер", "сектор"];
var arr2=[];
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]);
}
console.log(sarr);
}
clear(arr);
console.log(arr)
so when here is "arr[i]" it writes in sarr array every 8 element(by writing in console) , but when here is "arr2[i]" it writes here only 3 unique elements , why it dont working correctly , please tell me , i am dont understand . This will work
var arr = ["воз", "ЗОВ", "корсет", "киборг","киборг", "гробик", "костер", "сектор"];
var arr2=[];
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]);
}
console.log(sarr);
}
clear(arr);
console.log(arr);
i have tried to change this both of cycles but nothing works , i'm trying to solve this problem about 3-4 days . I know how to make this without this both cycles , but i want to know why its not working ,i am interested in learning , not just to make this work , if this is wrong way, why it is wrong?
Thanks in advance !!!
What I have tried:
I have tried to change this without next: but its dont working it gives me 65 elements , so this way was wrong ( sorry i cant write this code again becauuse i have writed it couple days ago.