4 回答
TA贡献1831条经验 获得超9个赞
它最终打印出未定义,因为您正在尝试使用 console.log 函数,但它没有返回任何内容,不需要 console.log 您只需调用此函数即可。
reverseArray(sentence)
reverseArray(nums)
但反转数组的更好方法是使用内置函数reverse(),因此您可以像这样更改函数。
const reverseArray = (words) => {
words.reverse().forEach(item => {
console.log(item);
});
};
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));
TA贡献1796条经验 获得超7个赞
您的reverseArray函数不会返回数组或任何未定义的内容。
它不会反转您的数组,也不会将其存储在任何地方。
您需要将数组反转为变量,然后在函数末尾返回它。
或者只是使用内置的 string.reverse() 方法来反转数组!
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));
添加回答
举报