【发布时间】:2021-03-14 20:43:36
【问题描述】:
我正在尝试使用 reduce 来获得以下输出:
solution('abcdef') // should return ['ab', 'cd', 'ef']
如果字符串的长度是奇数,我们应该将其转换为偶数并添加一个'_'(下划线)
solution('abc') // should return ['ab', 'c_']
这是我目前所处的位置:
- 我的 if 函数不工作,不知道为什么。
- 我只能得到 2 个字符串,但不能超过这些。我想我是在强迫结果变成我想要的,但如果我们只有 1 个或 2 个字符,这将不起作用,对吧?
function solution(str){
if (str.lenght % 2!==0){str.concat('_')};
console.log(str)
const array = str.split(',');
const reducer = array.reduce((acc, curr, i, arr)=>{
return [...acc, curr[i]+curr[i+1], curr[i+2]+curr[i+3]]
},[])
return reducer
}
solution('helloworl')
任何关于如何面对问题的提示和建议都会很好! 非常感谢
【问题讨论】:
-
使用reduce函数会使事情变得更复杂:-)
标签: javascript arrays string function reduce