javascript - 关于收集数组中值的最佳方法的建议

标签 javascript jquery arrays dom

我需要保存我网站页面中元素的所有颜色值并将它们放入数据库中。我想我会这样做:

首先我要获取每个元素的 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);

http://jsfiddle.net/sL9oeywk/

关于javascript - 关于收集数组中值的最佳方法的建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26484554/

相关文章:

通用 Javascript 函数调用的 jQuery 函数

Javascript 和 HTML 似乎无法正常工作

javascript - 单击向数组添加/删除项目时出现奇怪的问题

java - 在java中将字符串分成子串

使用函数和字符数组计算字符串长度的C程序

javascript - 基本 Javascript jquery json Html

javascript - 我的 javascript 属性 window.innerWidth 没有提供我正在寻找的值?

javascript - 触发事件取决于数据属性上的点击事件

jquery - 如何格式化 Microsoft JSON 日期?

Php/MYSQl 输出数组的每个值查询的第一个和最后一个结果?