1.数组去重

/*方法一: 1,'1' 会被认为是相同的; 所有hash对象,如:{x;1},{y:1}会被认为是相同的 //10ms */
Array.prototype.unique=function(){var newArr=[],obj={};for(var i=0,len=this.length;i<len;i++){if(!obj[this[i]]){ newArr.push(this[i]);obj[this[i]]=true;}}return newArr;
}/*方法一改进版:所有hash对象,如:{x;1},{y:1}会被认为是相同的  //30ms*/
Array.prototype.unique=function(){var newArr=[],obj={};for(var i=0,len=this.length;i<len;i++){if(!obj[typeof(this[i])+this[i]]){ newArr.push(this[i]);obj[typeof(this[i])+this[i]]=this[i];}}return newArr;
}/*方法二: 去重结果最好,但耗性能     //250ms*/
Array.prototype.unique=function(){var newArr=this.concat();for(var i=0,len=newArr.length;i<len;i++) {for(var j=i+1,len=newArr.length;j<len;j++) {//注意 ===if(newArr[i]===newArr[j]) {newArr.splice(j,1);j--;}}}return newArr;
}/*方法三:  不能去重hash对象  //25ms */
Array.prototype.unique = function(){var newArr = []; //一个新的临时数组for(var i = 0,len=this.length; i < len; i++){        if (newArr.indexOf(this[i]) == -1){    //如果当前数组的第i已经保存进了临时数组,那么跳过,否则把当前项push到临时数组里面newArr.push(this[i]);}}return newArr;
}

数组排序:

Array.sort()方法是用来对数组项进行排序的 ,默认情况下是进行升序排列。sort() 方法可以接受一个 方法为参数。

sort()排序时每次比较两个数组项都回执行这个参数,并把两个比较的数组项作为参数传递给这个函数。当函数返回值为1的时候就交换两个数组项的顺序,否则就不交换。

var p = [5, 2, 3, 1, 7, 5, 6, 9, 6, 0];function down(a, b) {return   (a < b) ? 1 : -1}p.sort(down)alert(p)

json排序:

var p = [{name:"kitty", age:12},{name:"sonny", age:9},{name:"jake", age:13},{name:"fun", age:24}]function down(x, y) {return (x.age < y.age) ? 1 : -1}p.sort(down)

转载于:https://www.cnblogs.com/zhidong123/p/4208637.html

数组-去重、排序方法、json排序相关推荐

  1. 面试题——4种数组去重的方法

    数组去重或者其衍生作为笔试题或者机试题出现的几率也是很大的,写出的方法越多,则让面试官觉得你思维越开阔,那么成功的几率当然就大了. 废话不多说,下面来说说下面我整理的4中数组去重的方法 方法一: fi ...

  2. 数组去重 php,PHP编程快速实现数组去重的方法详解

    本文实例讲述了PHP编程快速实现数组去重的方法.分享给大家供大家参考,具体如下: 概述 使用PHP的array_unique()函数允许你传递一个数组,然后移除重复的值,返回一个拥有唯一值的数组.这个 ...

  3. 超全的12种数组去重的方法

    前言 数组去重,可以说是一个比较常见的面试题,今天来盘点一下都有哪些方法可以实现数组去重. 方法1.双重for循环 这是一个最笨的方法,双重循环. var arr = [1, 2, 3,4 ,5,6, ...

  4. 常用的js数组去重的方法

    常用的js数组去重的方法 1. 使用for循环去重 2.使用set对象去重 3.使用数组索引indexOf()方法搭配for循环去重 4.使用includes()方法搭配for循环去重 5.使用fif ...

  5. 【ES6】最简单的对象数组去重的方法

    对象数组去重的方法 // arr传数组名,attr传属性名 const uniqueArr=(arr,attr)=> {const res = new Map();return arr.filt ...

  6. js 去重某个键值 数组对象_JS数组去重常见方法分析

    数组去重是开发中经常会遇到的问题,也是面试时经常会考到的.JS实现数组去重可以有多种方法: 一.简单的去重方法 用一个类比来简单解释一下这种去重方法的思路:A篮子里有若干个不同颜色和大小的球,旁边放一 ...

  7. php 多维数组怎么去重,php数组去重的方法

    本文实例讲述了PHP数组去重的更快实现方式.分享给大家供大家参考,具体如下: 推荐教程:PHP视频教程 使用PHP的array_unique()函数允许你传递一个数组,然后移除重复的值,返回一个拥有唯 ...

  8. python列表的排序方法_pythonlist排序的两种方法及实例

    本文主要介绍了python list排序的两种方法及实例讲解.具有很好的参考价值,下面一起来看下吧 对List进行排序,Python提供了两个方法 方法1.用List的内建函数list.sort进行排 ...

  9. C语言排序方法-----选择排序法

    首先来看看选择排序法的定义 核心思想就是先在所有数据中选出一个最大或者最小的数放在第一位,然后再剩下的数据继续选最大或者最小的数放在第二位,依次进行下去直到结束. 下来直接看C代码的实现 #defin ...

  10. js 数组去重的方法大全

    1.使用双重for循环,再利用数组的splice方法去重(ES5常用) let arr = [1, 5, 6, 0, 7, 3, 0, 5, 9, 5]; function unique(arr) { ...

最新文章

  1. linux的mount(挂载)命令
  2. OSTimeTick()函数解析
  3. java swing 导出文件_java swing (一) 导出excel文件并打开
  4. mysql 停止服务内存_服务器莫名的内存高占用 导致 MySQL 停止运行问题
  5. 数据库高级知识——查询截取分析(二)
  6. python 标准库之 glob 介绍(获取文件夹下所有同类文件)
  7. 【MySQL】数据库事务处理---MySQL
  8. End-to-end目标检测算法的学习笔记
  9. Objective-C 点语法 成员变量的作用域 @property和@synthesize关键字 id类型
  10. MATLAB中if (0)
  11. 大二学科不挂科 速冲方法推荐(离散+概率+数电+大物)
  12. 最新!腾讯优图联合厦门大学发布:2021十大人工智能趋势!无监督/多模态等热点...
  13. flutter 渐变色
  14. Oracle中文排序 NLSSORT
  15. 集成学习(随机森林)
  16. 《GTA5》游戏拆解分析
  17. 谈谈我对SEO快排现象的观察及其背后原理的分析
  18. 《人工智能》教学上机实验报告
  19. 塞班经典管理器X-plore分享
  20. 大龄青年的艰难转行IT之路(二)

热门文章

  1. C++socket编程(七):7.1 http协议讲解,通过抓包和telnet分析
  2. python从文件夹中提取指定文件_使用Python实现从各个子文件夹中复制指定文件的方法...
  3. centos下安装mysql5.5_CentOS下安装Mysql5.5
  4. mysql执行动态说起来_MySQL实战45讲学习笔记:第十四讲
  5. git checkoutbranch 回退到某个版本进行修改
  6. nginx main user
  7. ubuntu 网络配置
  8. opencv-api warpAffine
  9. Python 回归 普通最小二乘法(Ordinary Least Squares)
  10. Eclipse字符集环境配置