js 对象数组根据对象中的属性排序

           function createComparisonFunction(propertyName){
                return function(object1,object2){
                    var value1 = object1[propertyName];
                    var value2 = object2[propertyName];

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

            var data = [{name:‘Zacharty‘,age: 31},{name:‘Nicholas‘,age: 29},{name:‘Nicholas‘,age: 30}];
            // 这里根据数组对象中的age属性排序
            console.log(data.sort(createComparisonFunction(‘age‘)));
            // [{name:‘Nicholas‘,age: 29},{name:‘Nicholas‘,age: 30},{name:‘Zacharty‘,age: 31}]
时间: 2024-08-16 04:23:46

js 对象数组根据对象中的属性排序的相关文章

JS中:json对象数组按对象属性排序

var array = [ {name: 'a', phone: 1}, {name: 'b', phone: 5}, {name: 'd', phone: 3}, {name: 'c', phone: 4} ] array.sort(getSortFun('desc', 'phone')); function getSortFun(order, sortBy) { var ordAlpah = (order == 'asc') ? '>' : '<'; var sortFun = new F

浅谈JS中的构造函数、原型对象(prototype)、实例中的属性/方法之间的关系

原文链接:https://segmentfault.com/a/1190000016951069 构造函数:函数中的一种,通过关键字new可以创建其实例.为了便于区分,通常首字母大写:原型对象:一种特殊的对象,构造函数创建时自动生成:与构造函数形成一一对应,如同人和影子般的关系:实例:通过构造函数实例出来的对象: 在定义构造函数时,在其内部(“{“和”}”)进行定义属性和方法.当我们通过关键字new,对构造函数进行实例化的时候.实例会对构造函数的这些属性进行拷贝出一份副本,然后将其归属为当前实例

数组方法总结 常用数组方法总结 js的数组或对象常用方法总结

js常用数据类型的方法使用归纳 * String---->是一个对象    * 字符串可以看成是字符组成的数组,但是js中没有字符类型 * 字符是一个一个的,在别的语言中字符用一对单引号括起来 * 在js中字符串可以使用单引号也可以使用双引号 * 因为字符串可以看成是数组,所以,可以通过for循环进行遍历 * 字符串特性:不可变性,字符串的值是不能改变 * 字符串的值之所以看起来是改变的,那是因为指向改变了,并不是真的值改变了 * 字符串的常用属性:     * .length------>字

JS对象/数组/识别对象数组

一.对象: 1.对象创建: (1) var obj={}; (2) var obj= new Object();  obj.name="Wang",obj.age=12 (3) Object.create({}); 2.对象访问: (1) obj.a; (2) obj[a];  //a可以是相同的字符串,和数组: 3.对象方法: (1) obj.hasOwnPrototype("prop");    判断对象是否为自身,返回true:如为继承属性,false: (2

数据拦截器:递归遍历对象/数组,回调提供对属性,值的修改接口

/** * 数据拦截器: * * 对复杂类型数据做深度递归,提供修改拦截属性,回调中可对属性,值等做处理 * * @param {*} data object/array 需要拦截的目标(数组或对象) * @param {*} callback1 function 回调函数 在内部对最内层(value为基础类型,再无嵌套)的value做一些事情,回调参数为一个obj * @param {*} callback2 function 同上,区别在于value为复杂类型,有嵌套 * 回调参数说明: *

C++对象数组与对象指针

(一)对象数组 将具有相同类类型的对象有序地集合在一起便构成了对象数组,以一维对象数组为例,其定义形式为: 类名 对象数组名[]; Point points[100]; 关于对象数组的几点说明: (1)在建立对象数组的时候需要调用构造函数.如果对象数组有100个元素,就需要调用100次构造函数. (2)如果对象数组所属类有带参数的构造函数时,可用初始化列表按顺序调用构造函数,使用复制初始化来初始化每个数组元素. Point A[3]={Point(0,0),Point(1,1),Point(2,

【C++】C++自学旅程(9):对象数组和对象指针

耶耶耶,“类”的收官之作! 一.对象数组 对象数组:数组的每一个元素都是一个对象.定义方法: //类名 数组名[长度]; Elec a[2]; 其他跟类的对象.数组元素的使用没有区别.那么数组该怎么初始化呢: //使用构造函数 Elec a[2]= { Elet(111,"ds"...), Elct(154,"fish"...) }; //若对象只有一个参数 Elct a[2]={"ds","fish"}; 二.对象指针 1.

js 对象数组 根据对象中的元素去重

<script type="text/javascript"> //根据 sys_time 和 loc_time 去重 var tmp = [ { "id":1, "sys_time": "2015-03-09 15:15:08", //与id为2的重复 "loc_time": "2015-03-09 15:16:38" }, { "id":2, &quo

js 对象数组 根据对象中某个字段排序

第一种排序方式 var compare = function (prop) { return function (obj1, obj2) { var val1 = obj1[prop]; var val2 = obj2[prop]; if (val1 < val2) { return 1; } else if (val1 > val2) { return -1; } else { return 0; } } }; $scope.orderDrugMasterList.sort(compare(