JS sort方法基于数组对象属性值排序
sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同.
var arr = [ {name:'zopp',age:0}, {name:'gpp',age:18}, {name:'yjj',age:8} ]; function compare(property){ return function(a,b){ var value1 = a[property]; var value2 = b[property]; return value1 - value2; } } console.log(arr.sort(compare('age')))
如何根据参数不同,来确定是升序排列,还是降序排序呢?
/**数组根据数组对象中的某个属性值进行排序的方法 * 使用例子:newArray.sort(sortBy('number',false)) //表示根据number属性降序排列;若第二个参数不传递,默认表示升序排序 * @param attr 排序的属性 如number属性 * @param rev true表示升序排列,false降序排序 * */ sortBy: function(attr,rev){ //第二个参数没有传递 默认升序排列 if(rev == undefined){ rev = 1; }else{ rev = (rev) ? 1 : -1; } return function(a,b){ a = a[attr]; b = b[attr]; if(a < b){ return rev * -1; } if(a > b){ return rev * 1; } return 0; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
JS简单数组排序操作示例【sort方法】
本文实例讲述了JS简单数组排序操作.分享给大家供大家参考,具体如下: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>www.jb51.net 数组排序</title> </head> <body> <script> window.onload = function()
-
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
前言 运营小姐姐说想要可以直接拖拽排序的功能,原来在序号六的广告可能会因为金主爸爸加钱换到序号一的位置,拖拽操作就很方便 效果 实现方式 template部分 <el-table v-loading="loading" :default-sort="{prop: 'sortNum', order: 'ascending'}" :data="list" border align="left" > <el-tab
-
深入了解javascript 数组的sort方法
在javascript中,数组对象有一个有趣的方法sort,它接收一个类型为函数的参数作为排序的依据.这意味着开发者只需要关注如何比较两个值的大小,而不用管"排序"这件事内部是如何实现的.不过了解一下sort的内部实现也不是一件坏事,何不深入了解一下呢? 算法课上,我们会接触很多种排序算法,什么冒泡排序.选择排序.快速排序.堆排序等等.那么javascript的sort方法采用哪种排序算法呢?要搞清楚这个问题,呃,直接看v8源代码好了.v8中对Array.sort的实现是采用javas
-
vue2.0使用Sortable.js实现的拖拽功能示例
简介 在使用vue1.x之前的版本的时候,页面中的拖拽功能,我在项目中是直接用的jquery ui中的sortable.js,只是在拖拽完成后,在update的回调函数中又重新排序了存放数据的数组.但是当把vue升级到2.0以上后发现拖拽功能失效了,于是使用了下面代码. 该案例主要是在用于vuejs2.0中实现的拖拽功能,用到的的js有Sortable.js,vuedraggable.js,当然还有vue.min.js,提供的案例使用的require.js加载. 实现效果 实现后的效果如图所示:
-
tablesorter.js表格排序使用方法(支持中文排序)
最近,因为项目需要,对表格排序做了一下摸索,整理如下: 1. 首先,可从官网下载tablesorter.js,但并不支持中文的排序,对其源码进行修改: 部分源码: function sortText(a, b) { return ((a < b) ? -1 : ((a > b) ? 1 : 0)); }; function sortTextDesc(a, b) { return ((b < a) ? -1 : ((b > a) ? 1 : 0)); }; 修改后: function
-
jquery.tableSort.js表格排序插件使用方法详解
本文实例为大家分享了jquery.tableSort.js表格排序的具体代码,供大家参考,具体内容如下 1.一定要引jQuery包,所有jq插件都是基于jQuery包的 2.如果想指定哪一栏不排序这样写 $("#mytable").tablesorter({headers:{5:{sorter:false}}}); 第5列的sorter为false就OK了 参考:http://www.jb51.net/article/105217.htm <!DOCTYPE html> &
-
JavaScript中数组Array.sort()排序方法详解
JavaScript中数组的sort()方法主要用于对数组的元素进行排序.其中,sort()方法有一个可选参数.但是,此参数必须是函数. 数组在调用sort()方法时,如果没有传参将按字母顺序(字符编码顺序)对数组中的元素进行排序,如果想按照其他标准进行排序,就需要进行传一个参数且为函数,该函数要比较两个值,并且会返回一个用于说明这两个值的相对顺序的数字. 1.对数字数组进行由小到大的顺序进行排序. 代码: var arr = [22,12,3,43,56,47,4]; arr.sort();
-
基于js 各种排序方法和sort方法的区别(详解)
今天突发奇想,想明白sort方法是否比各种排序都有优势,所以就参考别人的代码,做了一个测试,结果令人惊讶啊,上代码. <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0,max
-
jQuery实现使用sort方法对json数据排序的方法
本文实例讲述了jQuery实现使用sort方法对json数据排序的方法.分享给大家供大家参考,具体如下: 如何对后台返回过来的json数据按照数据中的某一项进行排序呢. 首先看一下排序前的json数据: { "result":[ { "cid":1, "name":"aaa", "price":1000 },{ "cid":2, "name":"bbb&qu
-
JS sort方法基于数组对象属性值排序
sort方法接收一个函数作为参数,这里嵌套一层函数用来接收对象属性名,其他部分代码与正常使用sort方法相同. var arr = [ {name:'zopp',age:0}, {name:'gpp',age:18}, {name:'yjj',age:8} ]; function compare(property){ return function(a,b){ var value1 = a[property]; var value2 = b[property]; return value1 -
-
java基于反射得到对象属性值的方法
本文实例讲述了java基于反射得到对象属性值的方法.分享给大家供大家参考,具体如下: 通过反射机制得到对象中的属性和属性值 在对象中private没问题,在别的类中有时会报异常.下面的例子是在本对象中 /** * Engine entity. @author MyEclipse Persistence Tools */ public class Engine implements java.io.Serializable { // Fields private Long engineId; pr
-
$.each遍历对象、数组的属性值并进行处理
通过它,你可以遍历对象.数组的属性值并进行处理. 使用说明 each函数根据参数的类型实现的效果不完全一致: 1.遍历对象(有附加参数) $.each(Object, function(p1, p2) { this; //这里的this指向每次遍历中Object的当前属性值 p1; p2; //访问附加参数 }, ['参数1', '参数2']); 2.遍历数组(有附件参数) $.each(Array, function(p1, p2){ this; //这里的this指向每次遍历中Array的当
-
js 用于检测类数组对象的函数方法
如下所示: //判定o是否是一个类数组对象 //字符串和函数有length属性,但是它们 //可以用typeof检测将其排除.在客户端JavaScript中,DOM文本节点 //也有length属性,需要用额外判断o.nodeType!=3将其排除 function isArrayLike(o){ if(o&&//o非null/undefined等 typeof o==="object"&&//o是对象 isFinite(o.length)&&a
-
PHP实现删除多重数组对象属性并重新赋值的方法
本文实例讲述了PHP实现删除多重数组对象属性并重新赋值的方法.分享给大家供大家参考,具体如下: 实例:sphinx搜索出来的结果,要去掉某个属性值: $cl = new SphinxClient (); $query = $cl->Query ( $keyword, $index ); 方法一,直接删除属性: foreach ( $query['matches'] as $k => $val ) { unset($query['matches'][$k]["attrs"][
-
C#实现读取匿名对象属性值的方法示例总结
本文实例讲述了C#实现读取匿名对象属性值的方法.分享给大家供大家参考,具体如下: 通过new出匿名对象,可以直接调用该匿名对象的属性名,获取属性值. var objUser = new {Name="Lilei",Age=18 }; //此时可直接读取匿名类属性 Console.WriteLine("Name:" + objUser.Name);// Name:Lilei 但当将匿名对象转换成object后,就无法直接读取属性值了: static object Ge
-
Java通过反射机制动态设置对象属性值的方法
/** * MethodName: getReflection<br> * Description:解析respXML 在通过反射设置对象属性值 * User: liqijing * Date:2015-7-19下午12:42:55 * @param clzzName * @param respXML * @return * @throws ClassNotFoundException * @throws DocumentException * @throws IllegalArgumentE
-
es6 js 匹配两个数组对象的方法
判断两个数组用的value是否相等 this.list = [ { user_type: 0, user_id: 1003, department_id: 1, department_name: "公司xx", mobile: "", realname: "廖xx", com_name: "任公司", label: "廖建平", value: 1003 }, { user_type: 0, user_id:
-
JS中如何轻松遍历对象属性的方式总结
自身可枚举属性 Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,数组中属性名的排列顺序和使用 for...in 循环遍历该对象时返回的顺序一致 .如果对象的键-值都不可枚举,那么将返回由键组成的数组. 这是合理的,因为大多数时候只需要关注对象自身的属性. 来看看一个对象拥有自身和继承属性的例子,Object.keys()只返回自己的属性键: let simpleColors = { colorA: 'white', colorB: 'black' }; let
-
JS深入学习之数组对象排序操作示例
本文实例讲述了JS深入学习之数组对象排序功能.分享给大家供大家参考,具体如下: JavaScript实现多维数组.对象数组排序,其实用的就是原生的sort()方法,用于对数组的元素进行排序. sort() 方法用于对数组的元素进行排序.语法如下: arrayObject.sort(sortby) 返回值为对数组的引用.请注意,数组在原数组上进行排序,不生成副本. 如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序.要实现这一点,首先应把数
随机推荐
- 详解基于angular路由的requireJs按需加载js
- AngularJS改变元素显示状态
- ntiIframe.vbs用于批量清除被添加到文件中的恶意代码
- java 嵌套类的详解及实例代码
- Android中gson、jsonobject解析JSON的方法详解
- Swift Self详解及简单实例代码
- 简单漂亮的js弹窗可自由拖拽且兼容大部分浏览器
- win10下Python3.6安装、配置以及pip安装包教程
- Android上传文件到Web服务器 PHP接收文件
- JavaScript中的Reflect对象详解(ES6新特性)
- asp从字符串里截取N个带HTML的字符的函数
- 可用的ASP无重复数字随机函数, 数组实现, 并应用于随机显示记录集
- jQuery弹出窗口完整代码(居中,居左,居右)
- jQuery 类twitter的文本字数限制带提示效果插件
- js 本地预览的简单实现方法
- 使用批处理异地备份数据(winrar)
- Java设计模式之适配器模式(Adapter模式)介绍
- Java中BEAN与EJB的区别浅析
- java算法实现预测双色球中奖号码
- 浅谈Django REST Framework限速