我需要保存我网站页面中元素的所有颜色值并将它们放入数据库中。我想我会这样做:
首先我要获取每个元素的 RGB 值
$("*").each(function(e){
createColorArray($(this).css('backgroundColor'));
});
然后在函数createColorArray中将传递的所有值存储到一个数组中
function createColorArray(rgbColor)
{
//Create rgb array
}
最后从我的数组中删除重复的项目
function removeDoupe(ar) {
var temp = {};
for (var i = 0; i < ar.length; i++)
temp[ar[i]] = true;
var r = [];
for (var k in temp)
r.push(k);
return r;
}
现在我的问题是, 建议如何创建数组?直接在 $ ("*") 内部还是在我想的专用函数中?我还需要一次删除新数组“clean”中的重复项以及 rgb 值,我还会给出该值在原始数组中的次数。 一些示例代码?
最佳答案
正如我在评论中提到的,为什么不早点检查重复项呢?一个简单的例子:
var colors = [];
$('*').each(function(i, el){
var $element = $(el),
color = $element.css('background-color');
if(!~$.inArray(color, colors))
colors.push(color);
});
console.log(colors);
关于javascript - 关于收集数组中值的最佳方法的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26484554/