js 根据对象属性对数组进行按字母排序

       $scope.input.sort(compare(‘ticked‘,‘name‘));
        var compare = function(ticked, name){
        	return function(a,b){
        		var t1 = a[ticked];
        		var s1 = a[name];
        		var t2 = b[ticked];
        		var s2 = b[name];
        		if(t1){
        			if(t2){
        				return s1.localeCompare(s2);
        			}else{
        				return -1;
        			}
        		}else{
        			if(!t2){
        				return s1.localeCompare(s2);
        			}else{
        				return 1;
        			}
        		}
        	}
        }

  

 	$scope.input =[{
        	name: ‘Draw1‘,
        	ticked: true
        },
        {
        	name: ‘Draw2‘,
        	ticked: false
        },
        {
        	name: ‘Draw3‘,
        	ticked: true
        }
        ];

  

时间: 2024-10-12 05:16:26

js 根据对象属性对数组进行按字母排序的相关文章

3、假设有一个对象数组,想根据某个对象属性对数组进行排序时

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=

javascript对象属性和数组的访问

javascript对象属性的访问 假如有对象test:var test = {  "a":1,  "b":2};直接访问对象test的属性a的值,有两种方法: 1.test.a; 2.test["a"];   (注意这里要用引号) 但若是用for/in语句访问对象的属性值,则必须用“[]”运算符啦:    for(m in test){        alert(test[m]);        alert(test.m);   //这里会弹出

JS获取对象“属性和方法”的方法

平时在写的代码过程中,经常会遇到对对象Object的数据处理.而在对对象的数据处理中,操作最频繁的是“数据引用”.“值的修改”.“获取关键字(属性)”.平时最烦的也是“获取关键字”,经常忘记怎么去获取,这里做一下整理. 既然要"获取关键字",那么得首先有一个对象才行.创建对象的方式很多,我自己惯用的方式有三种: 1.通过原始构造函数 new Object();创建一个对象,然后赋值: var testObj= new Object(); testObj.name = "sha

js 中对象--属性相关操作

查询属性: 可以用 对象.属性 来查询属性和属性方法               或者                    对象[“属性”]  来查询属性和属性方法 演示代码: 1 <script> 2 var obj ={ 3 username:"ziksang", 4 age:22, 5 addr:"北京", 6 say:function(){ 7 return "我的名字叫 "+this.username //解析this,此

js object 对象 属性和方法的使用

1 //object 对象 属性和方法的使用 2 var person = new Object(); 3 4 person.name="张海"; 5 person.age="60"; 6 7 person.say=function(){ 8 console.log(person.name+"他在说话!"+"\t他已经"+person.age+"岁"); 9 }; 10 person.eat=functio

javscript巧用对象特性去掉数组重复项并排序

当有一个数组a=[1,2,3,4],还有一个对象a={0:1,1:2,2:3,3:4},然后运行alert(a[0]),两种情况下的运行结果都是1,这就是说,数据集合既可以用数组表示,也可以用对象表示!但是我们是无法定义一个具有两个相同key值的object,而我们正可以利用这种特性来去掉数组中的重复项. 把数组转成一个js对象 把数组中的值变成对象中的key 把对象还原成数组 //把数组转成一个js对象 function toObj(arr){ var obj = {}; for(var i=

Java编程实现中英混合字符串数组按首字母排序的方法

在Java中对于字符串数组的排序,我们可以使用Arrays.sort(String[])方法很便捷的进行排序.例如: ? 1 2 3 4 5 6 7 String[] arrays = new String[] { "gyu", "sdf", "zf", "大同", "收到", "地方", "三等分", "的人", "反对高铁"

JS获取对象“属性”的方法

1 var testObj= new Object(); 2 testObj.name = "shangguan"; 3 testObj.age= 25; 4 testObj.action = function () { 5 return this.name; 6 } 1.对象内置属性方法:Object.keys():该方法返回一个数组,数组内包括对象内可枚举属性以及方法名称. 1 var keys= Object.keys(testObj); 2 console.log(keys);

js JSON对象属性

json对象是是一种用于原生json分析的对象,无法对其进行构造函数调用,用java术语 来说,它相当于能够直接使用类方法的工具类JSON对象的属性parse(text[,reviver]);对参数text这一json字符串分析之后 返回一个javascript对象. reviver将会对每个属性调用回调函数,并将返回值赋为属性值对于reviver函数reviver(key,val){}对javascript返回的对象每一个属性调用函数,注意对对象本身也进行一次调用,没有key值,在最后一次,v