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

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

但它最后总是给我未定义?我知道这是一个菜鸟问题,抱歉。



慕沐林林
浏览 156回答 4
4回答

天涯尽头无女友

它最终打印出未定义,因为您正在尝试使用 console.log 函数,但它没有返回任何内容,不需要 console.log 您只需调用此函数即可。reverseArray(sentence)reverseArray(nums)但反转数组的更好方法是使用内置函数reverse(),因此您可以像这样更改函数。const reverseArray = (words) => {  words.reverse().forEach(item => {    console.log(item);  });};

鸿蒙传说

问题是没有返回,该函数没有返回任何内容,这意味着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));

芜湖不芜

您的reverseArray函数不会返回数组或任何未定义的内容。它不会反转您的数组,也不会将其存储在任何地方。您需要将数组反转为变量,然后在函数末尾返回它。或者只是使用内置的 string.reverse() 方法来反转数组!

慕侠2389804

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));
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript