Javascript 如何使用循环将项目推入数组?
我一直试图在Chrome Developer Tools中输出Javascript 如何使用循环将项目推入数组?,javascript,web,Javascript,Web,我一直试图在Chrome Developer Tools中输出拼接连接的数组内容,但它总是输出未定义 我错过什么了吗 var-wordPermLength=2; var-wordPerm=['ab','ac','a']; var-join=[]; 函数joinWords(){ 对于(i=0;i
拼接连接
的数组内容,但它总是输出未定义
我错过什么了吗
var-wordPermLength=2;
var-wordPerm=['ab','ac','a'];
var-join=[];
函数joinWords(){
对于(i=0;i console.log(连接)代码>它不会返回未定义的,而是正确返回[]
(空列表)。在调用joinWords
函数之前,剪接连接的值不会改变,因此它将是分配给var-stipecjoin=[]的空列表代码>只需使用JS中的join
函数即可
var wordPermLength = 2;
var wordPerm = ['ab','ac','a'];
var spliceJoin = joinWords();
function joinWords()
{
return wordPerm.join('');
}
console.log(spliceJoin);
你错过了调用函数
joinWords();
您还使用了i++
,这会更改i
的值,从而得出错误的结果
,而不是i++
您应该使用i+1
var-wordPermLength=2;
var-wordPerm=['ab','ac','a'];
var-join=[];
函数joinWords(){
对于(i=0;i console.log(连接)代码>我建议您使用以下代码简化代码:
var-wordPermLength=2;
var-wordPerm=['ab','ac','a'];
var stipecjoin=wordPerm.slice(0,wordPermLength.join(“”);
console.log(连接)
您没有运行函数joinWords()
,这就是原因。当您console.log(stipecjoin)
时,函数还没有运行以将它们推入数组-在打印时正确地打印出[]
。此外,您可以只使用stipecjoin.join(“”)
您提供的代码实际上输出空数组[]
。是的,忘记运行joinWords
函数了?顺便问一下:为什么不直接使用Array.prototype.join()
?你的代码会变成这样:var stipecjoin=wordPerm.slice(0,wordPermLength)。join(“”)
请解释一下你到底想要这个代码做什么,因为这里的大多数人都忽略了循环中出现的第二个i++
,如果这是唯一的问题,你应该对它进行注释。我刚刚意识到这不是问题。当您在Chrome Dev Tools中创建变量并赋值时,它会打印未定义的
。我想OP是在问这个未定义的问题
,如果你觉得这个答案没用,你可以投反对票。我自己也不确定这个问题,因此没有投票。但我的第一个评论是suggestion@Rajesh我现在就考虑你的建议。谢谢你的建议:)实际上他的函数根本不返回任何东西,所以它实际上是隐式返回未定义的。