js 数组去重,及获取重复值

本文介绍了两种JavaScript数组去重的方法,分别利用了哈希表和双重循环来实现。此外,还提供了两种获取数组中重复值的函数,通过比较元素出现次数和使用indexOf方法来找出重复项。这些方法对于优化数据处理和分析具有实际应用价值。
摘要由CSDN通过智能技术生成

数组去重方法1

// 数组去重
function unique(arr) {
    var result = [], hash = {};
    for (var i = 0, elem; (elem = arr[i]) != null; i++) {
        if (!hash[elem]) {
            result.push(elem);
            hash[elem] = true;
        }
    }
    return result;
}

数组去重方法2

var unique = function(origArr) {
  var newArr = [],
    origLen = origArr.length,
    found,
    x, y;
  for ( x = 0; x < origLen; x++ ) {
    found = undefined;
    for ( y = 0; y < newArr.length; y++ ) {
      if ( origArr[x] === newArr[y] ) {
       found = true;
       break;
      }
    }
    if ( !found) newArr.push( origArr[x] );
  }
  return newArr;
}
var myarray = ['jeffrey', 'allie', 'patty', 'damon', 'zach', 'jeffrey', 'allie', 'patty', 'damon', 'zach', 'joe'];
myarray = unique(myarray);
alert(myarray.join(', '));

获取重复值方法1

function refrain(arr) {
  var tmp = [];
  if(Array.isArray(arr)) {
    arr.concat().sort().sort(function(a,b) {
      if(a==b && tmp.indexOf(a) === -1) tmp.push(a);
    });
  }
  return tmp;
}

获取数组重复值方法2


	function getRepeatValue(arr) {
		var result = [], hash = {};
		for (var i = 0, elem; (elem = arr[i]) != null; i++) {
			if (!hash[elem] && result.indexOf(elem) === -1) {

				result.push(elem);

			} else {
				hash[elem] = true;

			}
		}
		return result;

	}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值