var arr = ["13888888888_123", "16888888888_213", "13888888888_321", "1344444444_432", "13555555555_586"];
数组里的值是由”手机号_ID“组成的
我想要的结果是手机号相同的话值要一个手机号就可以了
想得到的结果:
var arr = ["13888888888_123", "16888888888_213", "1344444444_432", "13555555555_586"];

解决方案 »

  1.   


     Array.prototype.delRepeat = function () {
            var newArray = new Array();
            var reg = /\d+(?=_)/;
            var len = this.length; 
            for (var i = 0; i < len; i++) { 
                for (var j = i + 1; j < len; j++) {
                    if (parseInt(reg.exec(this[i])) == parseInt(reg.exec(this[j]))) { 
                        j = ++i; 
                    }
                }
                newArray.push(this[i]);
            }
            return newArray; 
        }
        var arr = ["13888888888_123", "16888888888_213", "13888888888_321", "1344444444_432", "13555555555_586"];
        var result = arr.delRepeat();
        for (var i = 0; i < result.length; i++) {
            alert(result[i]);
        }
      

  2.   


     var arr = ["13888888888_123", "16888888888_213", "13888888888_321", "1344444444_432", "13555555555_586"];
        var result = new Array(); 
        var reg = /\d+(?=_)/;
        for (var i = 0; i < arr.length; i++) {
            var IsContains = false;
            for (var j = 0; j < result.length; j++) {
                if (parseInt(reg.exec(arr[i])) == (reg.exec(result[j]))) {
                    IsContains = true;
                    break;
                }
            }
            if (!IsContains) {
                result.push(arr[i]);
            }
        }
        for (var i = 0; i < result.length; i++) {
            alert(result[i]);
        }