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));
添加回答
舉報