深入理解js数组的sort排序


Posted in Javascript onMay 28, 2016

废话少说直接上代码:

<body>
  <div>
  sort()对数组排序,不开辟新的内存,对原有数组元素进行调换
  </div>
  <div id="showBox">
  1、简单数组简单排序
  <script type="text/javascript">
    var arrSimple=new Array(1,8,7,6);
    arrSimple.sort();
    document.writeln(arrSimple.join());
  </script>
  </div>
  <div>
  2、简单数组自定义排序
  <script type="text/javascript">
    var arrSimple2=new Array(1,8,7,6);
    arrSimple2.sort(function(a,b){
      return b-a});
    document.writeln(arrSimple2.join());
  </script>
  解释:a,b表示数组中的任意两个元素,若return > 0 b前a后;reutrn < 0 a前b后;a=b时存在浏览器兼容
  简化一下:a-b输出从小到大排序,b-a输出从大到小排序。
  </div>
  <div>
  3、简单对象List自定义属性排序
  <script type="text/javascript">
    var objectList = new Array();
    function Persion(name,age){
      this.name=name;
      this.age=age;
      }
    objectList.push(new Persion('jack',20));
    objectList.push(new Persion('tony',25));
    objectList.push(new Persion('stone',26));
    objectList.push(new Persion('mandy',23));
    //按年龄从小到大排序
    objectList.sort(function(a,b){
      return a.age-b.age});
    for(var i=0;i<objectList.length;i++){
      document.writeln('<br />age:'+objectList[i].age+' name:'+objectList[i].name);
      }
  </script>
  </div>
  <div>
  4、简单对象List对可编辑属性的排序
  <script type="text/javascript">
    var objectList2 = new Array();
    function WorkMate(name,age){
      this.name=name;
      var _age=age;
      this.age=function(){
        if(!arguments)
        {
          _age=arguments[0];}
        else
        {
          return _age;}
        }
        
      }
    objectList2.push(new WorkMate('jack',20));
    objectList2.push(new WorkMate('tony',25));
    objectList2.push(new WorkMate('stone',26));
    objectList2.push(new WorkMate('mandy',23));
    //按年龄从小到大排序
    objectList2.sort(function(a,b){
      return a.age()-b.age();
      });
    for(var i=0;i<objectList2.length;i++){
      document.writeln('<br />age:'+objectList2[i].age()+' name:'+objectList2[i].name);
      }
  </script>
  </div>
</body>

以上这篇深入理解js数组的sort排序就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
js tab效果的实现代码
Dec 26 Javascript
jquery滚动加载数据的方法
Mar 09 Javascript
JS控制表单提交的方法
Jul 09 Javascript
PageSwitch插件实现100种不同图片切换效果
Jul 28 Javascript
jQuery多级手风琴菜单实例讲解
Oct 22 Javascript
基于jQuery实现仿搜狐辩论投票动画代码(附源码下载)
Feb 18 Javascript
如何使用JS在HTML中自定义字符串格式化
Jul 20 Javascript
JavaScript 五大常见函数
Mar 23 Javascript
vue 组件中使用 transition 和 transition-group实现过渡动画
Jul 09 Javascript
vue移动端模态框(可传参)的实现
Nov 20 Javascript
详解Typescript 内置的模块导入兼容方式
May 31 Javascript
vue-cil之axios的二次封装与proxy反向代理使用说明
Apr 07 Vue.js
深入理解js函数的作用域与this指向
May 28 #Javascript
js和C# 时间日期格式转换的简单实例
May 28 #Javascript
JS函数arguments数组获得实际传参数个数的实现方法
May 28 #Javascript
深入理解JS函数的参数(arguments)的使用
May 28 #Javascript
深入理解js中this的用法
May 28 #Javascript
关于function类中定义变量this的简单说明
May 28 #Javascript
Highcharts 多个Y轴动态刷新数据的实现代码
May 28 #Javascript
You might like
PHP自动生成月历代码
2006/10/09 PHP
收集的二十一个实用便利的PHP函数代码
2010/04/22 PHP
Drupal 添加模块出现莫名其妙的错误的解决方法(往往出现在模块较多时)
2011/04/18 PHP
php学习笔记之 函数声明
2011/06/09 PHP
php旋转图片90度的方法
2013/11/07 PHP
PHP+jQuery 注册模块的改进(一):验证码存入SESSION
2014/10/14 PHP
php获取本周星期一具体日期的方法
2015/04/20 PHP
PHP使用openssl扩展实现加解密方法示例
2020/02/20 PHP
一个选择最快的服务器转向代码
2009/04/27 Javascript
jquery动画1.加载指示器
2012/08/24 Javascript
js禁止document element对象选中文本实现代码
2013/03/21 Javascript
三种取消选中单选框radio的方法
2014/09/09 Javascript
Vue实现动态响应数据变化
2017/04/28 Javascript
详解Vuex管理登录状态
2017/11/13 Javascript
Angular2+如何去除url中的#号详解
2017/12/20 Javascript
在vue中通过axios异步使用echarts的方法
2018/01/13 Javascript
nodejs 如何手动实现服务器
2018/08/20 NodeJs
vue-cli3.0 环境变量与模式配置方法
2018/11/08 Javascript
Vue-CLI 3.X 部署项目至生产服务器的方法
2019/03/22 Javascript
vue实现手机端省市区区域选择
2019/09/27 Javascript
[41:41]TFT vs Secret Supermajor小组赛C组 BO3 第一场 6.3
2018/06/04 DOTA
Python通过RabbitMQ服务器实现交换机功能的实例教程
2016/06/29 Python
Python 实现两个列表里元素对应相乘的方法
2018/11/14 Python
python 获取url中的参数列表实例
2018/12/18 Python
python启动应用程序和终止应用程序的方法
2019/06/28 Python
python使用pyecharts库画地图数据可视化的实现
2020/03/25 Python
Python如何使用ConfigParser读取配置文件
2020/11/12 Python
你不知道的葡萄干处理法、橙蜜处理法、二氧化碳酵母法
2021/03/17 冲泡冲煮
美国休闲服装品牌:Express
2016/09/24 全球购物
法律专业应届生自荐信范文
2014/01/06 职场文书
竞聘书模板
2014/03/31 职场文书
个人合作协议书范本
2014/04/18 职场文书
公司合并协议书范本
2014/09/30 职场文书
八年级作文之一起的走过日子
2019/09/17 职场文书
golang 如何通过反射创建新对象
2021/04/28 Golang
Vue elementUI表单嵌套表格并对每行进行校验详解
2022/02/18 Vue.js