javascript - 如何在 javascript 或 jquery 中获取数组的唯一数据?

标签 javascript jquery

我有这样的数组:

var arr = [
{"id":1,"tipe":"foo"},
{"id":2,"tipe":"bar"},
{"id":3,"tipe":"bar"}
];

如何在 javascript 或 jquery 上获取唯一数据,并显示如下结果:

[{"id":1,"tipe":"foo"},{"id":2,"tipe":"bar"}];

这是我获取数据的代码:

$('#tipe').change(function(){
                    var val = $(this).val();
                    url = '{{url('getdata')}}';
                    $.ajax({
                        url:url,
                        data: {tipe:val}
                    }).done(function(data){
                        $('#page').empty();
                        $.each(data, function(key, value){
                            $('#page').append(value['halaman']);
                        });
                    })
                });

最佳答案

您可以尝试使用此代码

var result = arr.reduce(function(t, el1) {
  var matches = t.filter(function(el2) {
    return el1.tipe == el2.tipe
  })
  if (matches.length == 0)
    t.push(el1)
  return t;
}, [])

演示

var arr = [{
    "id": 1,
    "tipe": "foo"
  },
  {
    "id": 2,
    "tipe": "bar"
  },
  {
    "id": 3,
    "tipe": "bar"
  }
];

var result = arr.reduce(function(t, el1) {
  var matches = t.filter(function(el2) {
    return el1.tipe == el2.tipe
  })
  if (matches.length == 0)
    t.push(el1)
  return t;
}, [])

console.log(result)

关于javascript - 如何在 javascript 或 jquery 中获取数组的唯一数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46972857/

相关文章:

javascript - 如何从另一个模式打开 Bootstrap 模式中的滚动功能?

javascript - 有没有办法写这个更短或更有效?

javascript - 监听来自显示 : none to display:block 的任何 div

javascript - 旋转图像 2 次

javascript - 如何在 Javascript 中上传 Excel 文件或将 Excel 转换为文本文件?

javascript - TypeError : this. $el.DataTable 不是一个函数( REACT.JS)

jQuery Mobile 主题不再有效?

javascript - 如何在 if 语句中组合鼠标移出功能

javascript - 如何在 Materialise CSS 框架中添加对 select 的搜索

javascript - 将 javascript 应用程序迁移到使用 AMD 的提示(例如 requirejs)