本文介绍: 在使用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);

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

发表回复

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