JS中数组重排序方法

 更新时间:2016年11月11日 09:40:50   作者:木木夕木木心  
在数组中有两个可以用来直接排序的方法,分别是reverse()和sort()。下面通过本文给大家详细介绍,对js 数组重排序相关知识感兴趣的朋友一起看看吧

1.数组中已存在两个可直接用来重排序的方法:reverse()和sort()。

reverse()和sort()方法的返回值是经过排序后的数组。reverse()方法会反转数组项的顺序:

var values=[1,2,3,4,5];
values.reverse();
alert(values); //5,4,3,2,1

在默认情况下,sort()方法按升序排列数组,sort()方法会调用每个数组项的toString()转型方法,然后比较得到字符串,确定如何排序。即使数组中的每一项都是数值,sort()方法比较的也是字符串:

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

因此,sort()方法可以接收一个比较函数作为参数。

function compare(value1,value2){
if (value1 < value2){
return -1;
}else if (value1 > value2){
return 1;
}else{
return 0;
}
}

此比较函数可适用于大多数数据类型,只要将其作为参数传递给sort()方法即可:

var values = [0,1,3,7,9,15];
values.sort(compare);
alert(values); //0,1,3,7,9,15

也可通过比较函数产生降序排序,只需交换函数返回值即可:

function compare (value1, value2){
if (value1<value2){
return 1;
}else if {
return -1;
}else{
return 0;
}
}

sort()函数的排序条件是:

参数大于0,arr的相邻两个元素交换位置;

参数小于0,arr的相邻两个元素不交换位置;

参数等于0,arr的相邻两个元素大小相等;所以compare自定义函数必须返回一个数值。

2.对于数值类型或者valueOf()方法会返回数值类型的对象类型。

可使用一个更简单的比较函数。此函数只要第二个值减第一个值即可。

function compare (value1,value2){
return value2 - value1;
}

以上所述是小编给大家介绍的JS中数组重排序方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

相关文章

  • JS中hasOwnProperty方法用法简介

    JS中hasOwnProperty方法用法简介

    hasOwnProperty(propertyName)方法 是用来检测属性是否为对象的自有属性,如果是,返回true,否者false; 参数propertyName指要检测的属性名,这篇文章给大家介绍JS中hasOwnProperty方法用法简介,感兴趣的朋友一起看看吧
    2024-01-01
  • getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现

    getElementsByTagName vs selectNodes效率 及兼容的selectNodes实现

    天在csdn上看到有人问 getElementsByTagName 和 selectNodes谁更快 ,这个还真没研究过。
    2010-02-02
  • javascript脚本调试方法小结

    javascript脚本调试方法小结

    相信大家试过编写javascript脚本时发生这样或那样的错误,但是js并没有很好的调试方法,在这里介绍两个方法。
    2008-11-11
  • JS删除数组中某个元素的四种方式总结

    JS删除数组中某个元素的四种方式总结

    js删除指定元素方法有很多,下面这篇文章主要给大家介绍了关于JS删除数组中某个元素的四种方式,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2023-02-02
  • bootstrap css样式之表单

    bootstrap css样式之表单

    这篇文章主要为大家详细介绍了bootstrap css样式之表单的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • js实现倒计时秒杀效果

    js实现倒计时秒杀效果

    这篇文章主要为大家详细介绍了js实现倒计时秒杀效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • JS中的回调函数实例浅析

    JS中的回调函数实例浅析

    这篇文章主要介绍了JS中的回调函数,结合实例形式简单分析了javascript回调函数的感念、功能、使用方法及相关注意事项,需要的朋友可以参考下
    2018-03-03
  • 原生JS实现前端本地文件上传

    原生JS实现前端本地文件上传

    这篇文章主要为大家详细介绍了原生JS实现前端本地文件上传,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-09-09
  • javaScript 判断字符串是否为数字的简单方法

    javaScript 判断字符串是否为数字的简单方法

    javascript在通过parseIn或parseFloat将字符串转化为数字的过程中,如果字符串中包含有非数字,那么将会返回NaN,参考下面代码
    2009-07-07
  • JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题

    JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题

    这篇文章主要介绍了JavaScript将DOM事件处理程序封装为event.js 出现的低级错误问题做个笔录,以防出现类似错误,需要的朋友可以参考下
    2016-08-08

最新评论