JavaScript数组的reverse和sort方法

reverse方法

var values = [6,8,3,5,1];
values.reverse();
alert(values);

输出结果: 1,5,3,8,6

 

sort方法

var values = [0,1,5,10,15];
values.sort();
alert(values);

输出结果: 0,1,10,15,5

 

这就要弄清楚js的Array中sort的原理了。sort方法会调用每一个数组项的toString方法,比较转换成字符串的数组项。

5的值虽然小于10,但是"10"在"5的前面"。

这就需要我们写比较函数了:

function Compare(v1,v2){
    if(v1 < v2){
        return -1;
    }else if (v1 > v2){
        return 1;
    }else{
       return 0;
    }
}

var values = [0,1,5,10,15];
values.sort(Compare);
alert(values);

输出结果: 0,1,5,10,15

 

这是从小到大,如果从大到小就把Compare函数里面1和-1对调。

那么对于值类型或者valueOf会返回数值型的类型来说,可以直接写了:

function Compare(v1,v2){
    return v2 - v1 ;
}

 

总结自JavaScript高级编程第二版

 

时间: 2024-08-31 11:27:12

JavaScript数组的reverse和sort方法的相关文章

JavaScript数组去重的五种方法_javascript技巧

javascript数组去重是一个比较常见的需求,解决方法也有很多种,网上都可以找到答案的,下面小编给大家整理了一份关于同类型的数组去重的方法,先给大家介绍下简单实现思路. 思路: 遍历数组,一一比较,比较到相同的就删除后面的 遍历数组,一一比较,比较到相同的,跳过前面重复的,不相同的放入新数组 任取一个数组元素放入新数组,遍历剩下的数组元素任取一个,与新数组的元素一一比较,如果有不同的,放入新数组. 遍历数组,取一个元素,作为对象的属性,判断属性是否存在 1. 删除后面重复的: functio

JavaScript数组去重的3种方法和代码实例

  这篇文章主要介绍了JavaScript数组去重的3种方法和代码实例,本文直接给出实例代码,需要的朋友可以参考下 数组去重的方法有很多,到底哪种是最理想的,自己不清楚.于是自己测试了下数组去重的效果和性能.测试十万个数据,代码和所耗大概时间如下. 到底采用哪种方法,根据实际情况而定吧. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 3

JavaScript数组去重的两种方法推荐_javascript技巧

1.数组去重: Array类型并没有提供去重复的方法,如果要把数组的重复元素干掉,那得自己想办法: 方法一:利用indexOf方法: var aa=[1,3,5,4,3,3,1,4] function arr(arr) { var result=[] for(var i=0; i<arr.length; i++){ if(result.indexOf(arr[i])==-1){ result.push(arr[i]) } } console.log(result) } arr(aa) 方法二:

JavaScript数组前面插入元素的方法_javascript技巧

本文实例讲述了JavaScript数组前面插入元素的方法.分享给大家供大家参考.具体如下: JS数组带有一个unshift方法可以再数组前面添加若干个元素,下面是详细的代码演示 复制代码 代码如下: <!DOCTYPE html> <html> <body> <p id="demo">Click the button to add elements to the array.</p> <button onclick=&q

javascript数组快速打乱重排的方法

 本文介绍了利用Array.prototype.sort方法和Math.random()实现快速打乱数组的方法,大家参考使用吧    代码如下: var arr = [1,2,3,4,5,6,7,8,9,10]; var out = arr.sort(function(){   return Math.random() > 0.5; }  

js中的数组Array定义与sort方法使用示例_javascript技巧

Array数组相当于java中的ArrayList 定义方法: 1:使用new Array(5 )创建数组 var ary = new Array(5): 2:使用Json语法,var ary = [1,3,4]: 数组排序: 例: 复制代码 代码如下: function sort(){ var ary=[11,12,3,5,29]; ary.sort();//按照字符编码排序11,12,29,3,5; alert(ary.toString()); ary.sort(function(v1,v2

JavaScript数组去重的3种方法和代码实例_javascript技巧

数组去重的方法有很多,到底哪种是最理想的,自己不清楚.于是自己测试了下数组去重的效果和性能.测试十万个数据,代码和所耗大概时间如下. 到底采用哪种方法,根据实际情况而定吧. /*方法一: 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

javascript数组去重的三种常用方法,及其性能比较

在进行数组操作时往往会遇到去掉重复项的问题,下面简单介绍下数组去重的方法,以及其执行效率  方法一         采用两次循环         原理:拿当前的和他后面的比,如果后面的有重复的就干掉         但是我们发现数组最后一项,后面没有东西,那他就不用和后边的比较了,所以我们只要循环arr.length-1次就可以了 var arr=[1,3,5,3,5,3,4,1,3,5,3,5,3,41,3,5,3,5,3,4,1,3,5,3,5,3,4];                fo

javascript数组快速打乱重排的方法_javascript技巧

复制代码 代码如下: var arr = [1,2,3,4,5,6,7,8,9,10];var out = arr.sort(function(){  return Math.random() > 0.5;}