javascript - jQuery 中是否有类似 array_unique() 的函数?

标签 javascript php jquery arrays

<分区>

我有一个选择,我可以在其中获取一些值作为数组,如 ["1","2","3"]

在每次更改时,我都运行以下代码以获取与我从 select 获得的这些值相关联的数组结果

$('#event-courses-type').on('change',function(){

    type = $('#event-courses-type').val();

    console.log(type);

    var var1 = ["4689 Leadership Award", "UKCC Level 1", "UKCC Level 2", "UKCC Level 3", "UKCC Level 4", "Old WHU Award", "None at present"];
    var var2 = ["4689 Leadership Award", "GB-wide Level 1", "Old Level 1 (Pre January 2012)", "Level 2", "Level 3", "EHF", "FIH", "None at present"];

    var var5 = ["D32/33", "A1 Assessor", "CTS", "IAPS", "PTLLS", "AVRA", "Umpire Educator Training", "Umpire Assessor Training"];
    var var6 = ["D32/33", "A1 Assessor", "CTS", "IAPS", "PTLLS", "AVRA", "Umpire Educator Training", "Umpire Assessor Training"];

    var results = [];

    if ($.inArray("1",type) != -1) {
        var results = $.merge(var1, results);
    }
    if ($.inArray("2",type) != -1) {
        var results = $.merge(var2, results);
    }
    if ($.inArray("5",type) != -1) {
        var results = $.merge(var5, results);
    }
    if ($.inArray("6",type) != -1) {
        var results = $.merge(var6, results);
    }

    console.log(results);
)};

这是我的控制台日志,让您在我选择 2 个选项和结果数组后看到类型数组:

["1", "2"] ------------------- add_event.php:802

["4689 Leadership Award", "GB-wide Level 1", "Old Level 1 (Pre January 2012)", "Level 2", "Level 3", "EHF", "FIH", "None at present", "4689 Leadership Award", "UKCC Level 1", "UKCC Level 2", "UKCC Level 3", "UKCC Level 4", "Old WHU Award", "None at present"]

如您所见,有两次“4689 领导奖”,我不希望这种情况发生。在 PHP 中,我使用 array_unique() 函数来消除这些重复值,但我不知道如何在 jQuery 中执行此操作。

最佳答案

试试这个:

function unique(array){
  return array.filter(function(el, index, arr) {
      return index == arr.indexOf(el);
  });
}

工作示例:

const startingArray = [1, 2, 2, 3, 2, 3, 3, 3];

function unique(array){
  return array.filter(function(el, index, arr) {
      return index == arr.indexOf(el);
  });
}

const uniqueArray = unique(startingArray);

console.log(uniqueArray);

关于javascript - jQuery 中是否有类似 array_unique() 的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25530168/

相关文章:

javascript - 使用 Javascript 的 document.getElementByID 获取 div 的子元素

javascript - 当鼠标停止移动时执行 Jquery

javascript - $.ajax json方法不命中web方法

javascript - Chrome 中的最大断点数?

php 的 strip_tags() 不起作用

php - Symfony2 类 Brenne\BaseBundle\Entity\Websites 不是有效的实体或映射的父类(super class)

php - 父类引用仅存在于子类中的属性是否合适?

javascript - 防止隐藏的 tr 破坏 td 宽度

javascript - Google 电子表格网站表单 jQuery 脚本阻止发送

javascript - 如何使用 javascript 播放 google drive video?