Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/376.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我的第一节排列课-这段代码缺少什么? 从一本C++书中翻译出来(显然是错误的)。 如果我能让它发挥作用,那么我就可以开始试着去理解它 function recPermute(soFar, rest) { if (rest==="") { console.log(soFar); } else { for(i=0; i<rest.length; i++) // <<< error was in not declaring the "i" { var next = soFar + rest[i]; var remaining = rest.substr(0,i) + rest.substr(i+1); recPermute(next, remaining); } } } function listPerm(s) { recPermute("",s); } listPerm("kitcap") 函数重新排列(soFar,rest) { 如果(rest==“”) { 控制台日志(soFar); } 其他的 { 对于(i=0;i_Javascript - Fatal编程技术网

Javascript 我的第一节排列课-这段代码缺少什么? 从一本C++书中翻译出来(显然是错误的)。 如果我能让它发挥作用,那么我就可以开始试着去理解它 function recPermute(soFar, rest) { if (rest==="") { console.log(soFar); } else { for(i=0; i<rest.length; i++) // <<< error was in not declaring the "i" { var next = soFar + rest[i]; var remaining = rest.substr(0,i) + rest.substr(i+1); recPermute(next, remaining); } } } function listPerm(s) { recPermute("",s); } listPerm("kitcap") 函数重新排列(soFar,rest) { 如果(rest==“”) { 控制台日志(soFar); } 其他的 { 对于(i=0;i

Javascript 我的第一节排列课-这段代码缺少什么? 从一本C++书中翻译出来(显然是错误的)。 如果我能让它发挥作用,那么我就可以开始试着去理解它 function recPermute(soFar, rest) { if (rest==="") { console.log(soFar); } else { for(i=0; i<rest.length; i++) // <<< error was in not declaring the "i" { var next = soFar + rest[i]; var remaining = rest.substr(0,i) + rest.substr(i+1); recPermute(next, remaining); } } } function listPerm(s) { recPermute("",s); } listPerm("kitcap") 函数重新排列(soFar,rest) { 如果(rest==“”) { 控制台日志(soFar); } 其他的 { 对于(i=0;i,javascript,Javascript,对于JavaScript,使用,而不是使用类似数组的访问 var next = soFar + rest.charAt(i); 您需要i,因此它的作用域是recPermute: for(var i=0; i<rest.length; i++) for(var i=0;i一个可能存在的问题是,您对函数的每次调用都有效地使用相同的i。您需要声明一个本地i,否则它将在全局范围内声明 for(var i = 0; .... 你的代码出了什么问题?是有错误吗?还是它没有做你认为它正在做的事情?

对于JavaScript,使用,而不是使用类似数组的访问

var next = soFar + rest.charAt(i);
您需要
i
,因此它的作用域是
recPermute

for(var i=0; i<rest.length; i++)

for(var i=0;i一个可能存在的问题是,您对函数的每次调用都有效地使用相同的
i
。您需要声明一个本地
i
,否则它将在全局范围内声明

for(var i = 0; ....

你的代码出了什么问题?是有错误吗?还是它没有做你认为它正在做的事情?是的…当你在这里发布问题时,你不能只是发布代码,然后像找到问题一样开心!M!嗯!你实际上必须说问题出在哪里。如果你不知道,你需要尽可能地描述正在发生的事情。可能从那时起就错了我不太了解C++,但是它看起来像是在你的JavaScript代码中递归调用你的函数,但是在C++代码中你没有。没有排列出来的……是的,这还不够具体。谢谢你,先生。就是这样!这两个有什么区别?@ JoeSimBule<代码>
已成为该语言的一部分。类似数组的访问是。因此,如果需要支持,则不能在较旧的浏览器中使用。