javascript - 每次我们调用函数时,它都应该返回旧函数项 + 新函数项
问题描述
编写一个函数 addToList ,它接受一个字符串参数 toDo 并将当前列表作为字符串返回,每次我们调用该函数时,它都应该返回旧的 toDo 项 + 新的
const addToList = function (toDo) {
// TODO: Your code here
};
addToList("Eat"); // => 'Eat'
addToList("Play"); // => 'Eat Play'
addToList("Sleep"); // => 'Eat Play Sleep'
addToList("repeat"); // => 'Eat Play Sleep repeat'
解决方案
使用闭包,其中外部函数将声明一个数组,而内部函数将负责累积值。
每次调用内部函数时,执行连接操作将数组转换为字符串。
const addToListWrap = function(toDo) {
const arr = [];
return function(toDo) {
arr.push(toDo);
return arr.join(' ');
}
};
const addToList = addToListWrap();
addToList("Eat"); // => 'Eat'
addToList("Play"); // => 'Eat Play'
addToList("Sleep"); // => 'Eat Play Sleep'
console.log(addToList("repeat")) // => 'Eat Play Sleep repeat'
推荐阅读
- java - Java加速进程/线程
- rule-engine - 规则验证问题 - 保存时有效,加载时无效
- tableau-api - 在 Tableau 中合并列名
- python - 使密码/哈希验证算法更高效
- javascript - script16389:未指定的错误。填充物(1,10884)
- javascript - 在Javascript中返回未定义的函数
- mysql - 命令不同步;您现在无法运行此命令 - EXT:indexed_search 的 TYPO3 后端模块出错
- mysql - mysql 隐式连接+子查询
- jetty - Maven Jetty 插件 - 禁用 Http Trace
- powershell - 如何从开关或文件中获取参数