Javascript 使用最终修改的值更改for循环初始值

Javascript 使用最终修改的值更改for循环初始值,javascript,jquery,arrays,for-loop,Javascript,Jquery,Arrays,For Loop,在这里,我在for循环中设置了一些初始值,但在每次执行中,这个初始值都会改变。所以我需要将更改后的值放入forloop初始值中 str = "aabaacaba" newStr= str[0]; //for first time newStr length is one. but once "newStr.indexOf(str[i]) == -1" condition satisfied newStr length changed to two. so now newStr l

在这里,我在for循环中设置了一些初始值,但在每次执行中,这个初始值都会改变。所以我需要将更改后的值放入forloop初始值中

    str = "aabaacaba"
    newStr= str[0];
//for first time newStr length is one. but once "newStr.indexOf(str[i]) == -1" condition satisfied newStr length changed to two. so now newStr length is 2. in for loop the value is to be like "for (var i=2)"
    for (var i=newStr.length;i<str.length; i++) {
        if (newStr.indexOf(str[i]) == -1) {
            newStr = newStr + str[i];//console.log(newStr)
        }
    }
str=“aabaacaba”
newStr=str[0];
//newStr长度首次为1。但一旦“newStr.indexOf(str[i])=-1”条件满足,newStr长度就变为2。所以现在newStr的长度是2。在for循环中,该值类似于“for(var i=2)”

对于(var i=newStr.length;i使用while循环:

var str = "aabaacaba"
var newStr= str[0];
var i = newStr.length;
while (i < str.length) {
    if (newStr.indexOf(str[i]) == -1) {
        newStr = newStr + str[i];
        i = newStr.length;
        //console.log(newStr);
        continue;
    }
    i++;
}
var str=“aabaacaba”
var newStr=str[0];
var i=新闻长度;
而(i
试试这个:

如果要将它们放入数组中:

str = "aabaacaba"
var newStr = [];

for (var i = 0; i < str.length; i++){
  if (newStr.indexOf(str.charAt(i)) == -1) {
    newStr = newStr.push(str.substring(i,i+1));
    console.log(newStr.length);
  }
}
str = "aabaacaba"
var newStr = "";

for (var i = 0; i < str.length; i++){
  if (newStr.indexOf(str.charAt(i)) == -1) {
    newStr = newStr + str.substring(i,i+1);
    console.log(newStr.length);
  }
}
str=“aabaacaba”
var newStr=[];
对于(变量i=0;i
如果您希望将它们放在一个字符串中:

str = "aabaacaba"
var newStr = [];

for (var i = 0; i < str.length; i++){
  if (newStr.indexOf(str.charAt(i)) == -1) {
    newStr = newStr.push(str.substring(i,i+1));
    console.log(newStr.length);
  }
}
str = "aabaacaba"
var newStr = "";

for (var i = 0; i < str.length; i++){
  if (newStr.indexOf(str.charAt(i)) == -1) {
    newStr = newStr + str.substring(i,i+1);
    console.log(newStr.length);
  }
}
str=“aabaacaba”
var newStr=“”;
对于(变量i=0;i
你到底需要什么?更清楚一些。谢谢你最初的newStr长度是1。但是在迭代之后它可能不一样。
newStr
长度不同。所以我需要将不同的长度设置为forloop初始值。这就是
对于(var i=newStr.length
再次写入
i=newStr.length
if
条件下。“所以我需要输入可变长度”-不,你不需要。循环必须迭代
str
中的每个字符,因此必须从
i=1
i=(str.length-1)
newStr
的长度是不相关的。你也应该使用
str.charAt(i)
而不是
str[i]
请站在我们的立场上,这个问题很难理解!提示:1)使用正确的术语,可能还有英语。我需要将更改后的值放入forloop初始值中,这毫无意义,右值不用于存储任何内容。2)首先告诉我们您在没有任何代码的情况下试图实现什么,然后告诉我们您的代码段是如何无法实现的。请参阅。我需要将变化的newStr.length放入forloop.ur输出,显示变化的
newStr
长度,但不传递给forloop initial value@Mattbutler