本文介绍: 在使用echarts时候图标数据量总是很多,但是颜色可以随机生成,也可以使用自己固定颜色,但是数据量是不确定的,而颜色只有几个,这边我就分享了一下按照顺序组成颜色代码

使用echarts时候或者大转盘时候数据量总是很多,但是颜色可以随机生成,也可以使用自己固定颜色,这边我就分享了一下几种按照顺序组成颜色代码

// 第一种 通过循环颜色,用一个splice一个,如果颜色没有了,再重新给他原来的数组,继续循环
var colorsed = ["#CCCDFF", "#BAC7E8", "#D9EEFF", "#BADFE8"];
var gslist = [1,2,3,4,5,6,7,8,9]
var colorCopy = JSON.parse(JSON.stringify(colorsed))   //深拷贝一个数据
var  list = []
function bnpa(colors){
	for(var i= 0; i < colors .length; i++){
        if(list.length < gslist.length ){
            list.push(colors[i])
            colors.splice(i,1)  //关键一步
            if(colors.length<1){
                var colorCopys = JSON.parse(JSON.stringify(colorCopy))   
                bnpa(colorCopys)
            }else{
                bnpa(colors)
            }
        }
	}
}
bnpa(colorsed)
// (9) ['#CCCDFF', '#BAC7E8', '#D9EEFF', '#BADFE8', '#CCCDFF', '#BAC7E8', '#D9EEFF', '#BADFE8', '#CCCDFF']
//第二种 思路和第一种一样
var colors = ["#CCCDFF", "#BAC7E8", "#D9EEFF", "#BADFE8"];
var gslist = [1,2,3,4,5,6,7,8,9]
var list = []
function bnpa(arr){
    for(var i= 0; i <arr.length; i++){
        if(i < colors.length){
            list.push(colors[i])
        }else if(i >= colors.length && i == arr.length-1){
            var atms = arr.splice(colors.length)
            bnpa(atms)
        }
    } 
}
bnpa(gslist) 
//(9) ['#CCCDFF', '#BAC7E8', '#D9EEFF', '#BADFE8', '#CCCDFF', '#BAC7E8', '#D9EEFF', '#BADFE8', '#CCCDFF']

也可随机生成颜色

// 随机生成
	return "#"+Math.floor(Math.random()*(256*256*256-1)).toString(16);

欢迎有任何问题可以进行咨询,谢谢~

原文地址:https://blog.csdn.net/weixin_44168929/article/details/129662880

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_46808.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注