javascript - 如何从 arrayList Jquery/Javascript 中删除重复的对象值

标签 javascript jquery arraylist

我有一个包含对象的数组列表。如果对象具有相同的值,我只需要显示一个值。

例如:[ {a:0,b:1},{a:1,b:0},{a:0,b:1} ] 在上面的示例中,我只需要显示第一个和第二个对象并跳过第三个对象,因为它与第一个对象相同。

注意:数组中的对象可以是无限的,我不能硬编码索引值。谁能帮我找出通用的解决方案。

这是我试过的:

points = [];
newarr = [];
locArray = [ {a:0,b:1},{a:1,b:0},{a:0,b:1} ];

if(abc!=null){
removeDuplicateCoordinates();
                        $.each(newarr,function(key,val){
                           points.push([val.a,val.b]);

                        });

}

function removeDuplicateCoordinates(){
                var arr = locArray;
                $.each(arr, function(index,item){
                    if(searchForItem(newarr,item)<0){
                        newarr.push(item);
                    }
                });
            }
            function searchForItem(array, item){
                var i, j, current;
                for(i = 0; i < array.length; ++i){
                    if(item.length === array[i].length){
                        current = array[i];
                        for(j = 0; j < item.length && item[j] === current[j]; ++j);
                        if(j === item.length)
                            return i;
                    }
                }
                return -1;
            }

最佳答案

Fiddle Demo
试试这个

    newarr = [];
    testarr = [];
    locArray = [ {a:0,b:1},{a:1,b:0},{a:0,b:1} ];
    for (var i = 0; i<locArray.length;i++)
        {
    var idx = $.inArray(String(locArray[i].a)+String(locArray[i].b), testarr);
    if (idx == -1) {
      testarr.push(String(locArray[i].a)+String(locArray[i].b));
      newarr.push(locArray[i]);
        }
     }
    console.log(newarr);

关于javascript - 如何从 arrayList Jquery/Javascript 中删除重复的对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27636161/

相关文章:

php - JavaScript 标签在 HTML 代码中生成中断

javascript - 如何通过函数的参数在 javascript 函数中触发 javascript 函数?

javascript - 使用 Javascript/jQuery 创建摘录

javascript 代码或 json 对象作为 ajax 响应?

asp.net - 在 javascript 中停止回发

java - 为什么将此 ArrayList 视为对象列表?

java - 我应该使用哪个 Java 集合?

java - 当ArrayList中存储多个数据类型时,ArrayList.get()的性能是否会受到影响?

javascript - React 中的表单提交

javascript - 将 JSON 转换为字符串时如何解决此 Javascript 错误?