一、array.slice(start, end) 方法:

slice()是用来截取数组中的一部分,用它来复制数组,如果省略了end参数,则切分的数组包含从start开始到数组结束的所有元素。

现在要用它来复制数组,就一行:

var newArray=oldArray.slice(0); 

其他说明:

1. 如果 start 为负,将它作为 length + start处理,此处 length 为数组的长度,比如a.slice(-3,4),相当于a.slice(2,4)。

2. 如果 end 为负,就将它作为 length + end 处理,此处 length 为数组的长度,比如a.slice(0,-1)。

3. 如果省略 end ,那么 slice 方法将一直复制到源数组结尾,比如a.slice(1)。如果 end 出现在 start 之前,不复制任何元素到新数组中,比如a.slice(4,3)。

4.对于字符串,也有slice(start,end)方法。

二、array.sort() 方法:

默认的sort()按字符编码排序的:

code1:

var testArray=[3,324,5345,6546,134,5654,665];
        testArray.sort();
        alert(testArray);

输出结果是:134  3  324  5345  5654  6546  665

按大小排序:

var testArray=[3,324,5345,6546,134,5654,665];
        testArray.sort(function(a,b){return a-b;});
        alert(testArray);

这里传递一个比较函数给sort,比较函数的逻辑是:如果两参数的差值小于0,则表示a必须出现在b前面,否则在b后面。输出结果是:

输出结果是:3  134  324  665  5345  5654  6546,

补充:对多维数组的排序:

var arr=[
             [2,1,55,4],
             [5,3,22,3],
             [1,2,77,2],
             [9,4,33,5],
          ];                 
alert("默认按第一列排\n"+arr.sort().join("\n"))  
alert("现在按第三列排\n"+arr.sort(function(left,right){return left[2]>right[2]?1:-1}).join("\n"))  
alert("现在按第三列倒排\n"+arr.sort(function(left,right){return left[2]>right[2]?-1:1}).join("\n"))

//说明:alert(arr.sort(function(left,right){return left>right?-1:1}))  
//这里,sort方法通过参数函数的返回值 1或者-1来决定是顺排还是倒排

转载于:https://blog.51cto.com/tscfengkui/684209

js中关于array的slice和sort方法(转自JavaEye)相关推荐

  1. JS中数组(Array)、Json对象长度(length)获取方法

    JS中数组(Array).Json对象长度(length)获取方法 1.数组 var array = []; var length = array.length; 2.JSON对象 1)方法1: va ...

  2. 开发chrome 插件, background.js中 console log 看不到解决方法

    开发chrome 插件, background.js中 console log 看不到解决方法 参考文章: (1)开发chrome 插件, background.js中 console log 看不到 ...

  3. vue watch 修改滚动条_Vue.js 中滚动条始终定位在底部的方法

    Vue.js 中滚动条始终定位在底部的方法 发布于 2020-2-23| 复制链接 分享一篇关于vue 中滚动条始终定位在底部的方法,具有很好的参考价值,希望对大家有所帮助.一起跟随小妖过来看看吧 滚 ...

  4. new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解

    new Date将字符串转化成日期格式 兼容IE,ie8如何通过new Date将字符串转化成日期格式,js中如何进行字符串替换, replace() 方法详解 //获得年月日时分秒 //传入日期// ...

  5. [转] 理解 JavaScript 中的 Array.prototype.slice.apply(arguments)

    假如你是一个 JavaScript 开发者,你可能见到过 Array.prototype.slice.apply(arguments) 这样的用法,然后你会问,这么写是什么意思呢? 这个语法其实不难理 ...

  6. js中的数组和字符串的一些方法

    数组的一些方法: 1.join()和split()方法 <script type="text/javascript"> var x; var a=new Array() ...

  7. js中判断数据类型的几种实用方法

    前言 最近项目中有不少地方需要判断数据类型,但是判断数据类型也有好几种方法,并且每种方法判断的数据类型也有局限性,所以想总结一下,方便以后查阅. 分别是 typeof ,instanceof,Obje ...

  8. JS中的call、apply、bind方法详解

    bind 是返回对应函数,便于稍后调用:apply .call 则是立即调用 . apply.call 在 javascript 中,call 和 apply 都是为了改变某个函数运行时的上下文(co ...

  9. js中几种实用的跨域方法原理详解

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

最新文章

  1. 问题集锦(30-35)
  2. Python 解决写入csv中间隔一行空行问题
  3. 活动目录系列之一:基本概念
  4. 交叉驰豫的影响因素_什么因素影响了软管总成的质量?
  5. Self Crossing
  6. php strtotime month bug,处理PHP strtotime的BUG
  7. 22 CO配置-控制-产品成本控制-成本对象控制-检查制造订单 (PP) 的评估变式
  8. python入门第八章 商品数量检测 头像格式检测
  9. Ubuntu18.04快捷键
  10. Tensorflow 获取model中的变量列表,用于模型加载等
  11. 三菱MX Component通信应用
  12. 打印机出现另存为xps_共享打印机打印出现另存为*.xps,现把打印机驱动改成打印机的型号,可客户机还是打...
  13. 手机mstsc远程工具_如何通过手机远程控制计算机
  14. 【C++OJ多重继承与虚拟继承】商旅信用卡(多重继承)
  15. 爬虫:信息提取的一般方法
  16. 「镁客·请讲」易瞳科技梁剑泓艾韬:未来MR会把VR和AR融合在一起
  17. HDU 2838 Cow Sorting(双树状数组+求逆序数)
  18. Sencha Touch框架介绍
  19. HTML5教程8-视频
  20. java用浏览器下载文件_JAVA读取文件流,设置浏览器下载或直接预览操作

热门文章

  1. Pokémon Go火遍全球,开启全民捕捉小精灵的时代
  2. spring加载配置文件
  3. App-V5.0服务器部署
  4. 它是最神秘的黑客组织:来自战斗民族 专黑美国
  5. HTTP权威指南阅读笔记一:HTTP概述
  6. CBO Cost Formulas基于成本优化器的成本计算公式大全
  7. 配置和使用OCS 2007会议功能
  8. Flink SQL Client进行Kafka事实表与Hbase维度表Join(纯DDL/SQL方式)
  9. mysql8出现The MySQL server is running with the --skip-grant-tables option so it cannot execute
  10. C++ 线程池的思想