Enr*_*ent 5 javascript arrays functional-programming
假设我有以下数组:
const myArray = ["q", "w", "e", "r", "t", "y"]
Run Code Online (Sandbox Code Playgroud)
我想做的是在所有元素之间添加一个元素,如下所示:
myArray.someMethod("XXX")
// ["q", "XXX", "w", "XXX", "e", "XXX", "r", "XXX", "t", "XXX", "y"]
Run Code Online (Sandbox Code Playgroud)
在某种程度上,它有点什么.join
,但我希望输出是另一个数组,而不是字符串.
我知道如何用循环来做这个,但我想知道实现这个的"功能"方法.
您可以通过使用rest参数和检查其余数组的长度来采用递归方法,而不是迭代方法.
const
zip = ([a, ...r], v) => r.length ? [a, v, ...zip(r, v)] : [a];
console.log(zip(["q", "w", "e", "r", "t", "y"], 'XXX'));
Run Code Online (Sandbox Code Playgroud)
.as-console-wrapper { max-height: 100% !important; top: 0; }
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
104 次 |
最近记录: |