如何解决如何使用reduce和ramda“ hex2color”函数对颜色名称中带有r的十六进制值列表进行计数?
“使用reduce和hex2color函数计算名称中不含r的十六进制值列表”;
我当前的尝试如下。我知道需要修复的第一部分是过滤器功能。我需要能够滤除任何带有字母“ r”的颜色,但是似乎找不到一种轻松地将其适合滤镜功能的方法。这很容易成为语法问题,因为我想让过滤器查找===“ r”的所有字符串,即使我试图使用“ contains”来解决该问题并让它检查整个颜色字。 / p>
一旦filter函数起作用,我假设下一步就是简单地使用reduce函数,然后将它们组合在一起。 (不过,我可能会遥遥领先)。
我对编程非常陌生,非常欢迎任何见识。谢谢!
const exercise3 = _ => {
const hexes = ["#0000ff","#f5f5dc","#cd853f","#663399","#ffa500"];
const letter = "r";
const mapper = hex2color;
console.log(map(mapper,hexes)); //blue,beige,peru,rebeccapurple,orange
const filterer = el => contains(hex2color(el),letter);
console.log(filter(filterer,hexes)); //yields nothing,I assume to using the filter wrong with "r".
const reducer = (acc,el) => acc + 1;
const mappedFn = map(mapper);
const filtererFn = filter(filterer);
const reducerFn = reduce(reducer,0);
const composedFn = compose(reducerFn,filtererFn,mappedFn);
return composedFn(hexes);
};
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。