为了账号安全,请及时绑定邮箱和手机立即绑定

在简单的 for 循环函数结束时得到 UNDEFINED BEGINNER JAVASCRIPT

在简单的 for 循环函数结束时得到 UNDEFINED BEGINNER JAVASCRIPT

慕沐林林 2023-12-14 14:30:53
const reverseArray = (words) => {  for (let i = words.length - 1; i >= 0; i--) {    console.log(`${words[i]}`);  }};const sentence = ['sense.', 'make', 'all', 'will', 'This'];console.log(reverseArray(sentence))// Should print ['This', 'will', 'all', 'make', 'sense.'];const nums = [1, 2, 3, 4, 5];console.log(reverseArray(nums));// Should print 5,4,3,2,1但它最后总是给我未定义?我知道这是一个菜鸟问题,抱歉。
查看完整描述

4 回答

?
天涯尽头无女友

TA贡献1831条经验 获得超9个赞

它最终打印出未定义,因为您正在尝试使用 console.log 函数,但它没有返回任何内容,不需要 console.log 您只需调用此函数即可。


reverseArray(sentence)

reverseArray(nums)

但反转数组的更好方法是使用内置函数reverse(),因此您可以像这样更改函数。


const reverseArray = (words) => {

  words.reverse().forEach(item => {

    console.log(item);

  });

};


查看完整回答
反对 回复 2023-12-14
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

问题是没有返回,该函数没有返回任何内容,这意味着undefined. 所以你的console.log(reverseArray(sentence))电话是一样的console.log(undefined)。


在此答案中,该函数仅返回反转的数组。


const reverseArray = (words) => {

  reversed = []

  for (let i = words.length - 1; i >= 0; i--) {

     reversed.push(words[i])

  }

  return reversed

};


const sentence = ['sense.', 'make', 'all', 'will', 'This'];


console.log(reverseArray(sentence))


// Should print ['This', 'will', 'all', 'make', 'sense.'];


const nums = [1, 2, 3, 4, 5];


console.log(reverseArray(nums));


查看完整回答
反对 回复 2023-12-14
?
芜湖不芜

TA贡献1796条经验 获得超7个赞

您的reverseArray函数不会返回数组或任何未定义的内容。

它不会反转您的数组,也不会将其存储在任何地方。

您需要将数组反转为变量,然后在函数末尾返回它。

或者只是使用内置的 string.reverse() 方法来反转数组!


查看完整回答
反对 回复 2023-12-14
?
慕侠2389804

TA贡献1719条经验 获得超6个赞

JavaScript 中的每个函数都返回未定义,除非您返回其他内容。


尝试:


const reverseArray = (words) => {

  for (let i = words.length - 1; i >= 0; i--) {

     console.log(`${words[i]}`);

  }

  return "" //Here magic occurs

};


const sentence = ['sense.', 'make', 'all', 'will', 'This'];


console.log(reverseArray(sentence))


// Should print ['This', 'will', 'all', 'make', 'sense.'];


const nums = [1, 2, 3, 4, 5];


console.log(reverseArray(nums));


查看完整回答
反对 回复 2023-12-14
  • 4 回答
  • 0 关注
  • 80 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信