以递增的渐变对十六进制颜色代码进行排序


Sorting Hex color codes with increasing gradient

我有一个问题,我得到了几千个颜色代码RGB和各自的十六进制值,我想根据颜色强度按升序对它们进行排序。我发现很少有方法可以做到这一点,但无法理解如何实现它们,任何人都可以帮助我指导如何使其发挥作用吗。

解决方案1:-javascript方法

解决方案2:-

php方法

请注意,我在php或javascript中没有经验。但我有工作的wamp服务器,懂html。

提前感谢

这取决于您想要如何实现脚本。就我个人而言,我没有实现脚本,我只是使用了解决方案1中脚本的结果。

正如博客上的一条评论所示,您必须有一个颜色对象数组作为输入。例如:

var unsortedArrayOfColorObjects= [{"hex":"#c6deea"},{"hex":"#c37751"},{"hex":"#83575a"},{"hex":"#dcc896"},{"hex":"#c37751"}, {"hex":"#8e5a64"},{"hex": "#5f233c"}, {"hex":"#3d8e33"}, {"hex":"#a01437"},{"hex":"#ff5f00"}, {"hex":"#000000"}, {"hex":"#698c41"}, {"hex":"#002b7f"}, {"hex":"#b6b8b8"}, {"hex":"#82c8b4"}, {"hex":"#596d9e"},{"hex": "#4d0021"}];

然后,您可以从脚本中调用该函数。像这样:

sortColors(unsortedArrayOfColorObjects);

如果您想将对象值作为字符串获取。我将使用:

 JSON.stringify. JSON.stringify(sortColors(unsortedArrayOfColorObjects));

为了执行javascript脚本,我使用了Chrome的内置控制台。