javascript - 有没有一种方法可以使用 jquery 或 javascript 对数组中的重复项进行排序

标签 javascript jquery arrays sorting

我有一个数组,例如:

var aos = ["a","a","b","c","d"];

我想知道是否可以找到每个索引的重复项并将它们存储到诸如数组列表之类的东西中?例如,我们从以下位置开始:

aos[0]

然后检查是否

一个

找到

后,它将继续遍历数组,将索引 0 中具有该值的所有元素存储到列表(例如数组列表或集合)中,然后从列表中删除它们。这可能吗?

最佳答案

var uniq =_.uniq(aos)

或者是冗长的方式(ES5):

var uniq = aos.reduce(aos, function(memo, val) {
    if (!aos.some(function(elem) { return elem === val; })) {
         return memo.push(val);
    }
}, []);

如果你想支持 ES3 那么:

var uniq = [];
for (var i = 0, ii = aos.length; i < ii; i++) {
    var contains = false;
    for (var j = 0, jj < uniq.length; j < jj; j++) {
        if (uniq[j] === aos[i]) {
            contains = true;
            break;
        }
    }
    if (!contains) {
        uniq.push(aos[i]);
    }
}

将重复项存储在新数组中:

var duplicates = _.select(aos, function(val) {
    var true = _.after(2, function() { return true; });
    return _.any(aos, function(elem) {
        return elem === val ? true() : false;    
    });
});

Live Example

_.uniq , Array.prototype.reduce , Array.prototype.some , _.any , _.select , _.after

关于javascript - 有没有一种方法可以使用 jquery 或 javascript 对数组中的重复项进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6205463/

相关文章:

php - JQuery 动态下拉菜单更改填充其他字段

javascript - 在 AJAX 调用上具有固定标题的 HTML 表格

jquery 展开/切换 - 初始 div 大小

javascript - 使用 jquery、dom 突变在模态窗口中加载图像

javascript - 如何将javascript中的数字数组转换为字符串?

javascript - 页面加载后执行(触发)Angular 脚本

javascript - bootstrap col push pull 使用移动版

jquery - 从 json 数据中删除重复值

php - 如何分解字符串,编辑数据,然后在原始分隔符仍然存在的情况下分解它?

javascript - 创建封装数组JS