这段 js 代码有简洁的写法吗?
发布于 6 年前 作者 github-amazingboy 3402 次浏览 来自 问答
var emails = [];
result.userList.map((item) => {
    emails.push(item.mailAccount);
})
$("#confirm_users").html(emails.join("<br/>"))
15 回复

这map用的心服口服😂

result.userList.map(item => item.mailAccount).join(’<br />’)

@meiwhu 看了你的感觉自己好蠢

这才 fp

const prop = (id) => (obj) => obj[id]
result.userList.map(prop('mailAccount')).join(’<br />’)
pipe(
  prop('userList'),
  map(prop('mailAccount')),
  join('<br />')
)

这是 map 啊还是 foreach 啊

  • babel-plugin-proposal-pipeline-operator
const curry = R.curry
const map = curry((fn, arr) => arr.map(fn))
const jon = curry((str, arr) => arr.join(str))
const html =  $("#confirm_users").html
result
|> prop('userlist')
|> map(prop('mailAccount'))
|> join('<br />')
|> html
const map = fn => arr => arr.map(fn)
const jon = str => arr => arr.join(str)
const html =  $("#confirm_users").html
result
|> prop('userlist')
|> map(prop('mailAccount'))
|> join('<br />')
|> html

@MiYogurt 不可以,这不优雅,过分使用js的动态性了,一次性代码可以这样玩,大工程绝对要禁止,反而2楼才是正确姿势

@zengming00 那深度使用 ramda 和 rxjs 的开发者怎么说。而且使用 clojure 的用户呢

@MiYogurt 出bug时,代码重构时你就知道这有多惨了

@zengming00 什么样的 bug,每一个函数都是单独可测试的,原子性极强,反而更利于调试才对,函数式讲究的是映射,每一个环节的函数都没有问题,那怎么会出 bug 呢?

@MiYogurt 等你哪天领悟到了再回来看这个

@yviscool 我对这种写法很感兴趣, 请问这是使用的什么包的写法?

回到顶部