jQuery的阵列中的多个项目

问题描述:

我想要得到的项目列表中的一个页面,并将其推到一个数组:jQuery的阵列中的多个项目

$('#softwareUpdates article').each(function(index) {  
    productList.push({ 
     class: $(this).attr("class"), 
     text: $(this).attr("su_title") 
    }); 
}); 

不过,我想避免多个项目,所以当我目前的检查productList的阵列我有:

Item 1, Item1, Item 2, Item 3, Item 3, Item 4 

我想什么有是:

Item 1, Item 2, Item 3, Item 4 
+0

试试这个:http://*.com/questions/2822962/jquery-remove-duplicate-elements – 2012-08-01 15:08:41

+1

你可以尝试先使用'.filter()'。 – NicoSantangelo 2012-08-01 15:09:27

我把下面的代码从http://hackingon.net/post/Handy-Javascript-array-Extensions-e28093-distinct().aspx

Array.prototype.distinct = function() { 
    var derivedArray = []; 
    for (var i = 0; i < this.length; i += 1) { 
    if (!derivedArray.contains(this[i])) { 
     derivedArray.push(this[i]) 
    } 
    } 
    return derivedArray; 
}; 

也有相当于.NET的Linq的JavaScript库。任何这些应该工作。这里有一个:http://jsinq.codeplex.com/

+0

这工作,但我的数组充满了对象,有没有办法实现与对象相同? – paulcripps 2012-08-01 19:04:12

+0

这就是为什么我建议用于JavaScript的Linq克隆。他们让你从对象中挑选出值,然后在它们上面应用独特的值。 – 2012-08-01 21:24:33