【发布时间】:2015-06-22 07:43:40
【问题描述】:
我正在构建一个 javascript for 循环,我想将数组的值与数组中的下一个值进行比较。
如果两个值不相等,我想返回true,否则我想返回false。
在下面的代码中,我传递了字符串“aba”,将其拆分并排序到
sortedLetters = ["a", "a", "b"]
然而,当我将 sortedLetters[0] ("a") 与 sortedLetters[1] 进行比较时
function isIsogram(str){
// split each letter into an array and sort
sortedLetters = str.split("").sort();
console.log(sortedLetters[0]); // is "a"
console.log(sortedLetters[1]); // should be "a"
// iterate through the array and see if the next array is equal to the current
// if unequal, return true
for( i = 0; i < sortedLetters.length; i++ ) {
if(sortedLetters[i] !== sortedLetters[(i+1)]) return true;
}
// for "a" and "a", it should return false
return false;
};
document.write(isIsogram("aba"));
但是,为什么下面的 if 语句可以工作,而上面的代码却不行?
if(sortedLetters[i] !== sortedLetters[i++]) return true;
【问题讨论】:
标签: javascript loops for-loop