JS中给数组对象排序
2017-02-07 19:45
381 查看
[javascript] view
plain copy
//JS中给数组对象排序
//假设有一个对象数组,我们想要根据某个对象属性对数组进行排序。而传递给数组sort()方法的比较函数要接收2个参数,即要比较的值。
//可是,我们需要一种方式指明按照哪个属性来排序。
//要解决这个问题,可以定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数。
function createComprisonFunction(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:"Zachary",age:28},{name:"Nicholas",age:29}];
data.sort(createComprisonFunction("name"));
alert(data[0].name); //Nicholas
data.sort(createComprisonFunction("age"));
alert(data[0].name); //Zachary
plain copy
//JS中给数组对象排序
//假设有一个对象数组,我们想要根据某个对象属性对数组进行排序。而传递给数组sort()方法的比较函数要接收2个参数,即要比较的值。
//可是,我们需要一种方式指明按照哪个属性来排序。
//要解决这个问题,可以定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数。
function createComprisonFunction(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:"Zachary",age:28},{name:"Nicholas",age:29}];
data.sort(createComprisonFunction("name"));
alert(data[0].name); //Nicholas
data.sort(createComprisonFunction("age"));
alert(data[0].name); //Zachary
相关文章推荐
- js中的数组对象排序
- 对JSON数组对象排序-有键相同的元素,分组数量不一致,可采用如下的JS进行循环表格输出
- JS对象字符串数组排序
- js对数组中对象字段的排序
- js 数组对象 排序
- js使用Array.prototype.sort()对数组对象排序的方法
- [JS深入学习]——数组对象排序
- js sort方法根据数组中对象的某一个属性值进行排序
- JS-比较函数中嵌套函数,可以排序【对象数组】
- js sort方法根据数组中对象的某一个属性值进行排序
- JS中给数组对象排序
- js sort方法根据数组中对象的某一个属性值进行排序
- js根据数组对象中某属性进行排序
- js 按指定属性给对象数组排序(json数组)
- js 数组对象根据某一属性排序
- js 对象数组根据对象中的属性排序
- js使用sort()对数组对象排序的方法
- JS 对象数组Array 根据对象object key的值排序sort,很风骚哦
- Js 数组对象排序
- js数组对象排序