我是js的新手。继续声明后我没有看到任何控制台打印。 我以为继续会移动到下一个数字或者其他什么会发生,你们可以告诉我为什么它不起作用。我在下面提供我的代码。
var String = "paa"
//var String = "pak"
var splittedString = String.split()
console.log("outside outer loop");
for(i=0; i<splittedString.length; i++) {
var c = splittedString[i];
console.log("outside inner loop");
for(j=0; j<splittedString.length; j++) {
console.log("inside inner loop");
if( i === j)
{
console.log("inside if condition");
continue;
}
console.log("c ---------->" + c);
console.log("splittedString[j]---------->" + splittedString[j]);
//console.log("inside inner loop");
if( c === splittedString[j] ) {
//else if( c === splittedString[j] ) {
console.log("inside comparison");
console.log("not unique string");
break;
}
else {
console.log("its an unique string")
}
}
}
答案 0 :(得分:0)
您的代码可以使用&#34;罚款&#34;。没有控制台日志的原因是,您只有一次迭代。在该迭代中,i
和j
均等于0
。
试试console.log(splittedString)
。你将把你的字符串放在一个数组中。我想你想要做的是var splittedString = String.split('')
(用&#34拆分;空&#34;字符&#34;)。
虽然循环遍历字符数组相当于循环字符串本身。无需拆分字符串。您可以执行splittedString = String
,这种情况下的结果与拆分时的结果相同。
正如其他人提到的那样,试图避免使用可能倾斜变量类型的变量名(在你的情况下为String
)。即使代码有效,也很难阅读。