javascript数据去重
var arr = [1,5,5,5,6,6,6,3,3,2,2,1,1,9,9,9,"a","a","s","s"];
Array.prototype.unique = function(){
var newArr = [];
var len = this.length;
var obj = {};
for(var i = 0 ; i < len ; i++){
if(!obj[this[i]]){
obj[this[i]] = true;
newArr.push(this[i]);
}
}
return newArr;0
}
var arr2 = arr.unique();
var str = "aaabbbccc";
function uniqueString(str){
var len = str.length;
var newStr = "";
for(var i = 0 ; i < len ; i++){
if(newStr.indexOf(str[i]) == -1){
newStr += str[i];
}
}
return newStr;
}
var str2 = uniqueString(str);
Array.prototype.distinct = function () {
var arr = this,
result = [],
i,
j,
len = arr.length;
for (i = 0; i < len; i++) {
for (j = i + 1; j < len; j++) {
if (arr[i] === arr[j]) {
j = ++i;
}
}
result.push(arr[i]);
}
return result;
}
var arra = [1, 2, 3, 4, 4, 1, 1, 2, 1, 1, 1];
console.log(arra.distinct());
Array.prototype.unique = function(){
var len = this.length;
for(var i = 0 ; i < len ; i++){
for(var j = i + 1 ; j < len ; j++){
if(this[i] === this[j]){
this.splice(j,1);
len--;
j--;
}
}
}
return this;
}
var arr = [1,1,1,2,2,4,4,5,5,3,3,2,2,2,5,5,5];
var arr2 = arr.unique();
Array.prototype.unique = function(){
var len = this.length;
var arr = this;
arr.sort(function(a,b){
return a - b;
})
function loop(index){
if(index >= 1){
if(arr[index] === arr[index - 1]){
arr.splice(index,1);
}
loop(index - 1);
}
}
loop(len - 1);
return arr;
}
var arr = [1,1,2,3,3,3,2,3,3,4,4,5,4,1,1];
var arr2 = arr.unique();
console.log(arr2);
Array.prototype.distinct = function () {
var arr = this,
result = [],
len = arr.length;
arr.forEach(function (v, i, arr) {
var bool = arr.indexOf(v, i + 1);
if (bool === -1) {
result.push(v);
}
})
return result;
};
var a = [1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 2, 2, 1, 23, 1, 23, 2, 3, 2,
3, 2, 3
];
var b = a.distinct();
console.log(b.toString());
Array.prototype.unique = function(){
var len = this.length;
var res = [this[0]];
for(var i = 0 ; i < len ; i++){
var flag = false;
for(var j = 0 ; j < res.length ; j++){
if(this[i] === res[j]){
flag = true;
break;
}
}
if(!flag){
res.push(this[i]);
}
}
return res;
}
var arr = [1,1,1,5,5,5,6,6,6,4,4,4];
var arr2 = arr.unique();
Array.prototype.unique = function(){
var len = this.length;
var newArr = []
for(var i = 0 ; i < len ; i++){
if(!newArr.includes(this[i])){
newArr.push(this[i]);
}
}
return newArr;
}
var arr = [1,2,2,3,3,3,2,2,4,4,4,1,5,5,5,6,6,6,1,1]
var arr2 = arr.unique();
console.log(arr2);
Array.prototype.unique = function(){
var len = this.length;
var newArr = [];
for(var i = 0 ; i < len ; i++){
if(newArr.indexOf(this[i]) == -1){
newArr.push(this[i]);
}
}
return newArr;
}
var arr = [1,2,3,5,4,4,4,2,2,2,1,2,3]
var arr2 = arr.unique();
console.log(arr2);
Array.prototype.sortArr = function(){
var len = this.length;
for(var i = 0 ; i < len-1 ; i++){
for(var j = 1 ; j < len - 1 ; j++){
if(this[j] > this[j+1]){
var temp = this[j+1];
this[j+1] = this[j];
this[j] = temp
}
}
}
return this;
}
var arr = [11,55,66,22,33,45,99,77];
var arr2 = arr.sortArr();
console.log(arr2);
function unique(arr) {
if(!Array.isArray(arr)) {
console.log('Type Error : arr is not Array');
}
arr = arr.sort();
let res = [arr[0]];
for(let i = 1 ; i < arr.length ; i++) {
if(arr[i] !== arr[i - 1]) {
res.push(arr[i]);
}
}
return res;
}
function filter(arr) {
return arr.filter((item,index) => {
return arr.indexOf(item,0) === index;
})
}
function map(arr) {
let map = new Map();
let res = [];
for(let i = 0 ; i < arr.length ; i++) {
if(map.has(arr[i])) {
map.set(arr[i],true);
}else {
map.set(arr[i],false);
res.push(arr[i]);
}
}
return res;
}
function reduce(arr) {
let sortArr = arr.sort();
let res = [];
sortArr.reduce((prev,cur) => {
if(prev !== cur) {
res.push(prev);
}
return cur;
})
res.push(sortArr[sortArr.length - 1]);
return res;
}