从颜色渐变数组构造对象
Constructing an object from an array of color gradients
我有一个梯度数组,每次调用函数时,我都会尝试将其传递给图表库。
该库要求渐变作为对象以以下格式传入:
[0, 'rgba(73,115,214,.15)'],
[1, 'rgba(73,115,214,.07)']
我构建了一个渐变数组,如下所示:
var gradients = [
[
['rgba(73,115,214,.15)'],
['rgba(148,196,168,.1)']
],
[
['rgba(73,115,214,.07)'],
['rgba(41,189,102,.12)']
]
]
每次调用函数时,我都会存储一个索引值,并且需要在数组中检索相应的梯度。如何从gradients
中检索特定的索引值并将其构造为必要的格式?
var index = -1;
function setData() {
index = index + 1;
//I Need a gradient!
}
例如,如果索引为 2,我想返回:
[0, 'rgba(73,115,214,.07)'],
[1, 'rgba(41,189,102,.12)']
请检查这个小提琴的代码:http://jsfiddle.net/qp6kL5ms/1/
你可以像这样编写循环:
function setData() {
index = index + 1;
var resultantGradient = [];
gradients[index].forEach(function(gradient, index) {
resultantGradient.push([index, gradient]);
});
return resultantGradient;
}
这是你需要的吗?如果要准备硬编码数据,请执行此操作。
var gradients = {
"0" : "['rgba(73,115,214,.15)']",
"1" : "['rgba(148,196,168,.1)']",
"2" : "['rgba(73,115,214,.07)']",
"3" : "['rgba(41,189,102,.12)']"
}
在传递它时,您可以通过以下方式准备它:
var globalArray = [];
for( var grad in gradients ) {
var obj = [];
var val = grad+","+gradients[grad];
obj.push(val);
globalArray.push(obj);
}
现在对于您提到的索引内容,您可以像这样修改函数。
var globalArray = [];
// in your case you have show index as 2
function setData( index ){
for( var grad in gradients ) {
if ( grad < index ) {
var obj = [];
var val = grad+","+gradients[grad];
obj.push(val);
globalArray.push(obj);
}
}
}
希望这有帮助
这是你所期望的吗?
var index = -1;
function setData() {
var result = [];
index = index + 1;
//I Need a gradient!
gradients[index].forEach(function(element, key) {
result[key] = [key, element[0]];
});
console.log(result);
return result;
}
顺便说一下,数组索引从 0 开始。所以我希望如果 index==1,它将返回:
[0, 'rgba(73,115,214,.07)'],
[1, 'rgba(41,189,102,.12)']
相关文章:
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 在Javascript中转换对象数组
- 在JavaScript中通过索引从对象数组中获取值
- Backbone虹吸以获取对象数组
- 如何在DataTables 2.1中迭代对象数组
- Javascript-根据赋值顺序,按键合并对象数组
- 将事件附加到对象/数组
- jQuery$.inArray()总是返回-1和一个对象数组
- javascript处理一个对象数组以获得一个新的对象数组
- javascript在数组中获取对象数组中键的所有不同值
- 在对象数组中查找多个值的d3范围
- Undercore.js获取对象数组中键对象的值
- 在mongoose中使用正则表达式在对象数组中进行查询搜索
- 如何通过json对象数组为嵌套对象赋值
- 如何循环通过2个对象数组并通过匹配id进行合并
- 为对象数组创建列表项
- 如何使用javascript合并两个对象数组
- JSON到对象数组,并向每个对象添加项
- JavaScript:从对象数组中获取唯一值及其计数
- 按不同项目对对象数组进行排序