javascript - “为被束缚而生” Kata 99% 解决方案
问题描述
我有一个功能可以解决 Code Wars 上的 kata,名为"Born to be chained",一切看起来都很好,每个测试都通过了,除了最后一个。“添加一个数组”
我看了别人的代码,和我的一模一样。问题是:我的代码有什么问题?
唯一的区别是每次都会在那里创建一个新实例,但我几乎有相同的东西。通过所有测试的代码:
function chain(fns) {
let Chain = function (val) {
this.execute = () => val
}
for (let i in fns)
Chain.prototype[i] = function (a, b) {
let val = this.execute(),
args = val === null ? [a, b] : [val, a]
return new Chain(fns[i](...args))
}
return new Chain(null)
}
我的代码:
let chain = function (fns) {
let metds = {
execute() {
return this.res
}
}
for (let key in fns) {
metds[key] = (...args) => {
metds.res = !metds.res ? fns[key](...args) : fns[key](metds.res, ...args)
return {
...metds
}
}
}
return metds
}
解决方案
决定:
for (let key in fns) {
metds[key] = function (...args) {
let res = !this.res ? fns[key](...args) : fns[key](this.res, ...args)
return {
...metds,
res
}
}
}
推荐阅读
- html - 为什么有些文字没有显示(Bootstrap)
- reactjs - 我如何判断某些东西是用 react 还是 react native 写的?
- openssl - 强制 openssl cms 应用程序不将内容包装在“OCTET_STRING”中
- arrays - Volley 发布 JsonObject 并获取 JsonArray kotlin
- sql - 蜂巢中collect_set的条件
- php - Joomla 3.X | 更改模块上字段的布局
- ios - WKWebView 不请求图像
- image - 如何摆脱 dls 行中的 None Type Oject 错误?
- r - 如何在R中选择特定记录?
- html - 从UTC ISO日期时间字符串设置`datetime-local`值?