为什么函数体内的 for of 循环没有给我传统 for 循环所做的预期输出?似乎 for of 循环中的 el 与 for 循环中的 iterable[i] 不同?
var uniqueInOrder = function(iterable){
let unique = [];
for(let el of iterable){
let cur = el;
let next = el + 1;
if(cur !== next){
unique.push(cur)
}
}
return unique;
}
uniqueInOrder('AAAABBBCCDAABBB') // unexpected output
// Returns expected output
var uniqueInOrder = function(iterable){
let unique = [];
for(var i = 0; i < iterable.length; i++){
let cur = iterable[i];
let next = iterable[i + 1];
if(cur !== next){
unique.push(cur)
}
}
return unique;
}
uniqueInOrder('AAAABBBCCDAABBB') // ----> ["A", "B", "C", "D", "A", "B"]