【发布时间】:2016-10-08 14:51:25
【问题描述】:
我有一个函数可以根据对象中的字符串返回过滤结果(如果存在与否)
let foo = nodes.reduce((arr, cur) => {
cur.classes.split(' ').filter((el) => {
if (el === 'foo') arr.push(cur)
})
return arr;
}, []);
所以它只是返回数组中包含类对象中'foo'的所有对象 比如这个:
let nodes = [
{node: 'h1', classes: 'foo'},
{node: 'p', classes: 'bar'},
{node: 'p', classes: 'baz xxx'},
{node: 'h2', classes: 'bar baz foo'},
{node: 'ul', classes: 'poop foo'}
]
但我的直觉告诉我,这个函数可以写得更简单、更简洁。有什么想法吗?
【问题讨论】:
标签: javascript arrays object functional-programming