如何使用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 (将#修改为@)