Javascript 边学习边循环。Can';我无法找出我的代码中缺少了什么。

Javascript 边学习边循环。Can';我无法找出我的代码中缺少了什么。,javascript,arrays,while-loop,Javascript,Arrays,While Loop,编写一个名为indexToString的函数。该职能应: 1.将数组作为参数 2.创建并以字符串形式返回所有传递数组元素的新数组 3.每个字符串的格式如下:“[index]是[element at index]” 这就是我得到的错误:返回一个数组,数组中传入的数组元素作为字符串,并指定元素索引 预期未定义为完全相等['0为1','1为2','2为3'] 这是我的密码: var indexToString = function(array){ index = 0; elementAtInd

编写一个名为indexToString的函数。该职能应: 1.将数组作为参数 2.创建并以字符串形式返回所有传递数组元素的新数组 3.每个字符串的格式如下:“[index]是[element at index]” 这就是我得到的错误:返回一个数组,数组中传入的数组元素作为字符串,并指定元素索引 预期未定义为完全相等['0为1','1为2','2为3']

这是我的密码:

var indexToString = function(array){
  index = 0;
  elementAtIndex = 0;
  var i = 0;
  while(i < array.length){
    console.log(index + " is " + elementAtIndex);

    i++
  }
  return array[i];
};
var indexToString=函数(数组){
指数=0;
elementAtIndex=0;
var i=0;
while(i
两个三个错误

首先,当
i
不再小于
array.length
时,while循环将退出;第一个这样的数字是
array.length
。这意味着,在循环结束时,
array[i]
array[array.length]
,它正好位于数组之外,因此
未定义

其次,您应该返回一个字符串数组,正如测试失败消息所告诉的那样;不要将它们打印到控制台

编辑:第三,斯宾塞所说的。:)使用
i
代替
index
,使用
array[i]
代替
elementAtIndex

您希望从循环外的一个空数组开始,并将构建的每个字符串推入其中;然后在循环之后返回该数组

或者您也可以使用“新”JavaScript来实现:

var indexToString = array => array.map((e, i) => `${i} is ${e}`)
两个三个错误

首先,当
i
不再小于
array.length
时,while循环将退出;第一个这样的数字是
array.length
。这意味着,在循环结束时,
array[i]
array[array.length]
,它正好位于数组之外,因此
未定义

其次,您应该返回一个字符串数组,正如测试失败消息所告诉的那样;不要将它们打印到控制台

编辑:第三,斯宾塞所说的。:)使用
i
代替
index
,使用
array[i]
代替
elementAtIndex

您希望从循环外的一个空数组开始,并将构建的每个字符串推入其中;然后在循环之后返回该数组

或者您也可以使用“新”JavaScript来实现:

var indexToString = array => array.map((e, i) => `${i} is ${e}`)

你应该对你的代码进行更多的思考,到目前为止,这完全是胡说八道

让我们分解问题,确定应该做什么:

编写一个名为indexToString的函数。该职能应:

  • 数组作为参数

  • 创建一个新数组,并将所有传递的数组元素作为字符串返回

  • 每个字符串的格式应如下:“[index]是[element at index]”

  • 因此:

    • 您创建了一个名为indexToString的函数,该函数的主体包含代码,正如您所做的那样

    • 在while之前的初始化部分中,您应该创建一个新的将被填充的空数组,并声明一个名为index整数,例如初始化为0,用于循环原始数组。(提示:var new_array=[];创建并使用new_array.push(elem);追加元素)

    • 在此期间,您应该在新数组的末尾推送一个字符串,如下所示:“[“+index+”]是[“+array[index]+”]”,您应该增加索引。您可以在(索引
    时循环

    最后,您可以返回新数组


    祝你学习编程好运

    您应该对您的代码进行更多的思考,到目前为止这完全是胡说八道

    让我们分解问题,确定应该做什么:

    编写一个名为indexToString的函数。该职能应:

  • 数组作为参数

  • 创建一个新数组,并将所有传递的数组元素作为字符串返回

  • 每个字符串的格式应如下:“[index]是[element at index]”

  • 因此:

    • 您创建了一个名为indexToString的函数,该函数的主体包含代码,正如您所做的那样

    • 在while之前的初始化部分中,您应该创建一个新的将被填充的空数组,并声明一个名为index整数,例如初始化为0,用于循环原始数组。(提示:var new_array=[];创建并使用new_array.push(elem);追加元素)

    • 在此期间,您应该在新数组的末尾推送一个字符串,如下所示:“[“+index+”]是[“+array[index]+”]”,您应该增加索引。您可以在(索引
    时循环

    最后,您可以返回新数组


    祝你学习编程好运

    如果arraylenth是10,函数将返回数组[10]。这是一个数组绑定。

    如果arraylenth是10,函数将返回数组[10]。这是一个数组绑定。

    当您进入最后一个循环时,
    i
    将等于
    数组。长度
    ,因此
    数组[i]
    在此之后是未定义的。但这可能不是你想要的。您想返回完整的数组

    var indexToString=函数(数组){
    var new_数组=[];
    var i=0;
    while(i当您