writing a function that return a list without any elements that are the same nex
ID: 3819186 • Letter: W
Question
writing a function that return a list without any elements that are the same next to each other, maintaining the original order. having some issues getting work correctly, here's what i have so far:
var order = function(iterable) {
var freq = [ ];
var count = 1;
for(var i = 0; i < iterable.length; i++) {
count = 1;
}
for(var j = i+1; j < iterable.length; j++) {
if(iterable[i] == iterable[j]) {
count++;
}
else {
freq.push(iterable[j]);
}
return freq;
}
}
order([A,A,a,B,B,c, A, D, D]);
(should output: [A,a,B,c,a,D])
Explanation / Answer
Following function should do the job :
var order = function(iterable) {
var newIterable = [ ];
var to_add = iterable[ 0 ];
for(var i = 1; i < iterable.length; i++) {
if( iterable[i] == iterable[i-1] ){
to_add = iterable[i];
}
else {
newIterable.push(iterable[j]);
to_add = iterable[ i ];
}
}
newIterable.push( to_add );
return newIterable;
}
}
order([A,A,a,B,B,c, A, D, D]);
(outputs: [A,a,B,c,A,D])
Related Questions
Navigate
Integrity-first tutoring: explanations and feedback only — we do not complete graded work. Learn more.