let str = 'abcde'
let reversedStr = ''
// 1
reversedStr = str.split('').reverse().join('')
// 2
for (let i = str.length - 1; i >= 0; i--) {
reversedStr += str[i]
}
// 3
function reverse(str) {
if (str === '' || str.length === 1) {
return str
}
return reverse(str.slice(1)) + str[0]
}
reversedStr = reverse(str)
// 4
function reverse(str) {
return Array.from(str).reduce((pre, cur) => {
return cur + pre
})
}
reversedStr = reverse(str)
// 5
function reverse(str) {
return Array.from(str).reduceRight((pre, cur) => {
return pre + cur
})
}
reversedStr = reverse(str)
console.log(reversedStr)
关于reduce:
reduce(callbackfn: (previousValue: T, currentValue: T, currentIndex: number, array: T[]) => T,initialValue): T;
pre:上一次的处理结果
cur:当前值
curindex:索引
array:调用的数组
initialValue:初始值