数组排序

  1. reverse()方法

    reverse()方法会反转数组的顺序。
  2. sort()方法

    默认情况下sort()方法按升序排列数组项。为实现排序sort()方法调用每项的toString(),然后比较得到的字符串。所以,排序数值时可能导致与想要结果不一致的情况,如:
var array=[0,4,12,3,];
array.sort(); //0,12,3,4

虽然12大于3,4,但是转化为字符串时,“12”排在“3”和“4”之前。

未解决此问题sort()方法可以接受一个比较函数作为参数,以便我们决定如何排序。比较函数接收两个参数,如果第一个参数应该位于第二个参数之前则返回一个负数,如果相等返回0,如果第二个参数应该位于第一个参数之前,返回一个正数。如下:

function compare(value1,value2){
if(value1 < value2){
return -1;
}else if(value1>value2){
return 1;
}else{
return 0;
}
}
var array=[0,4,12,3,];
array.sort(); //0,3,4,12

数组栈方法、队列方法

  1. 栈方法

    push()

    pop()
  2. 队列方法

    (1)正向队列

    push()

    shift()

    (2)反向队列

    unshift()

    pop()

注:

push()方法可以接收任意数量的参数,把它们逐个添加到数组末尾,并返回修改后的数组长度。

pop()方法从数组末尾移除最后一项,减少数组的length值,然后返回的移除项。

shift()方法移除数组的第一个项并返回该项,然后将length减一。

unshift()方法在数组前端添加任一个项并返回新数组的长度。

js数组 标签: javascript 2016-08-03 14:15 131人阅读 评论(0) 收藏的更多相关文章

  1. Lucene学习总结之三:Lucene的索引文件格式(1) 2014-06-25 14:15 1124人阅读 评论(0) 收藏

    Lucene的索引里面存了些什么,如何存放的,也即Lucene的索引文件格式,是读懂Lucene源代码的一把钥匙. 当我们真正进入到Lucene源代码之中的时候,我们会发现: Lucene的索引过程, ...

  2. ubuntu权限管理常用命令 分类: linux ubuntu 学习笔记 2015-07-05 14:15 77人阅读 评论(0) 收藏

    1.chmod 第一种方式 chomd [{ugoa}{+-=}{rwx}] [文件或者目录] u 代表该文件所属用户 g 代表该文件所属用户组 o 代表访客 a 代表所有用户 +-=分别表示增加权限 ...

  3. Fragment之一:基本原理 分类: H1_ANDROID 2013-11-18 14:15 1642人阅读 评论(0) 收藏

    1.低版本API对Fragment的支持 Fragment必须被加载进Acitivity中,才能呈现.而在低于3.0版本的API中,由于不存在Fragment,因此必须使用support包: (1)对 ...

  4. Javascript图片预加载详解 分类: JavaScript HTML+CSS 2015-05-29 11:01 768人阅读 评论(0) 收藏

    预加载图片是提高用户体验的一个很好方法.图片预先加载到浏览器中,访问者便可顺利地在你的网站上冲浪,并享受到极快的加载速度.这对图片画廊及图片占据很大比例的网站来说十分有利,它保证了图片快速.无缝地发布 ...

  5. Lucene学习总结之四:Lucene索引过程分析 2014-06-25 14:18 884人阅读 评论(0) 收藏

    对于Lucene的索引过程,除了将词(Term)写入倒排表并最终写入Lucene的索引文件外,还包括分词(Analyzer)和合并段(merge segments)的过程,本次不包括这两部分,将在以后 ...

  6. Hdu2181 哈密顿绕行世界问题 2017-01-18 14:46 45人阅读 评论(0) 收藏

    哈密顿绕行世界问题 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Sub ...

  7. js中二维数组的创建方法 2017-04-04 14:50 120人阅读 评论(0) 收藏

    法一:var myarr=[[0,1,2],[1,2,3]]; 将[0,1,2]看做原来的0,将[1,2,3]看做原来的1,而二者又分别为子数组 如myarr[0][1]=1,myarr[1][1]= ...

  8. JavaScript、Ajax与jQuery的关系 分类: C1_HTML/JS/JQUERY 2014-07-31 10:15 3388人阅读 评论(0) 收藏

    简单总结: 1.JS是一门前端语言. 2.Ajax是一门技术,它提供了异步更新的机制,使用客户端与服务器间交换数据而非整个页面文档,实现页面的局部更新. 3.jQuery是一个框架,它对JS进行了封装 ...

  9. C++讲课总结 标签: c++总结 2015-02-28 14:48 671人阅读 评论(25) 收藏

    昨天老师算是给串了一本C++ 的课本,根据自己的理解,赶紧记录一下,也好作为自己学习时候的根据. C++编程简介:每本讲语言的书,第一章总是简介,内容无非是发展历史,语言特色等东西,专业的东西不多,都 ...

随机推荐

  1. Robot Framework(Collections 库)

    Collections 库 Collections 库同样为Robot Framework 标准类库,它所提供的关键字主要用于列表.索引.字典的处理. 在使用之前需要在测试套件(项目)中添加:

  2. Fiddler使用一(Fiddler简介)

    参考文章:http://blog.csdn.net/ohmygirl/article/details/17846199 1.为什么是Fiddler? 抓包工具有很多,小到最常用的web调试工具fire ...

  3. 转:JVM系列三:JVM参数设置、分析

    转自:http://www.cnblogs.com/redcreen/archive/2011/05/04/2037057.html 不管是YGC还是Full GC,GC过程中都会对导致程序运行中中断 ...

  4. Dictionary<string, object>不区分大小写

    Dictionary<string, object> dic = new Dictionary<string, object>(StringComparer.OrdinalIg ...

  5. SQL Server修改表结构,不允许保存更改。

    当修改表结构时,sql server会弹出对话框,显示以下内容: 不允许保存更改.您所做的更改要求删除并重新创建以下表.您对无法重新创建的表进行了更改或者启用了“阻止保存要求重新创建表的更改”选项. ...

  6. Cheatsheet: 2017 05.01 ~05.31

    Web Configuring Your .npmrc for an Optimal Node.js Environment Web Developer Security Checklist HTTP ...

  7. spring-boot-starter-data-elasticsearch实现es的增删查改

    首先,必须吐槽一下,springboot这个elasticsearch包对于elasticsearch的支持十分不友好,目前只支持很低版本的elasticsearch,如果有哪位大牛知道如何兼容更高版 ...

  8. Android的消息机制简单总结

    参考文章: http://gityuan.com/2015/12/26/handler-message-framework/#next 参考资料: Android Framework的源码: Mess ...

  9. flask_sqlalchemy filter 和filter_by的区别

    1. filter需要通过类名.属性名的方式,类名.属性名==值.filter_by 直接使用属性名=值,可以看源码filter_by需要传一个 **kwargs 2. filter支持> &l ...

  10. CentOS7下开启端口

    开启端口: firewall-cmd --zone=public --add-port=80/tcp --permanent 含义: --zone #作用域 --add-port=80/tcp #添加 ...