`
换个号韩国红果果
  • 浏览: 48083 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类

按对象属性排序

    博客分类:
  • js
阅读更多
利用JavaScript进行对象排序,根据用户的年龄排序展示
<script>
var bob={
name;bob,
age:30
}
var peter={
name;peter,
age:30
}
var amy={
name;amy,
age:24
}
var mike={
name;mike,
age:29
}
var john={
name;john,
age:45
}

<script>
1.现在实现按年龄排序。
function sortByProp(objArr,prop){//obj是一个对象数组,prop是待排序的属性
var sort=[];
var  propArr=[];
for(var i=0;i<objArr.length;i++)
  propArr.push(objArr[i][prop]);


propArr=propArr.sort();//现在propArr已经被排序。
propArr.forEach(function(e){

for(var i=0;i<objArr.length;i++)
if(objArr[i] && e==objArr[i][prop])  {
// console.log(objArr[i]['name']+':'+objArr[i][prop])
  sort.push(objArr[i]);delete objArr[i]; break;
}
})


return sort;
}
sortByProp(obj,'age')


2.用原生sort来做,在sort里传入函数。
应该注意的是  js之中 sort() 方法是按照字典顺序对元素进行排序的, 因此它假定元素都是字符串类型, 即使元素是数字类型, 也被认为是字符串类型,比如,sort  arr=[1,100,2,200]  排序出来的结果出现异常。为了让 sort() 方法也能排序数字类型的元素, 可以在调用方法时传入一个大小比较函数。
function compare(num1, num2) {
return num1 - num2;
} v
ar nums = [3,1,2,100,4,200];
nums.sort(compare);
print(nums); // 1,2,3,4,100,200

现在实现按照sort来排序对象数组。
function  sortArr(arr,prop){
	arr.sort(compareByProp);
	function  compareByProp(m,n){
		return m[prop]-n[prop];
	}

	return arr;
}
分享到:
评论
1 楼 LynBazinga 2015-06-18  
学习了~谢谢

相关推荐

    java 按对象属性排序

    在Java编程中,按对象属性排序是一个常见的需求,特别是在数据处理和数据分析的场景下。这里我们探讨的主题是如何根据对象的属性进行排序,结合提供的`Simple.java`和`User.java`文件,我们可以假设这是一个关于...

    js对象属性排序

    本篇文章将深入探讨JavaScript对象属性排序的原理、方法以及注意事项。 首先,了解JavaScript对象的基本特性是至关重要的。在ECMAScript规范中,对象的属性访问速度并不依赖于属性的位置或顺序,因为它们内部是通过...

    JS实现json对象数组按对象属性排序操作示例

    本文实例讲述了JS实现json对象数组按对象属性排序操作。分享给大家供大家参考,具体如下: 在实际工作经常会出现这样一个问题:后台返回一个数组中有i个json数据,需要我们根据json中某一项进行数组的排序。 例如...

    java List中对象多属性排序及各属性排序设置

    本文将深入探讨如何在Java的List中对包含多个属性的对象进行排序,并且支持动态设置每个属性的排序方式。这个功能的实现是通过泛型和自定义比较器(Comparator)来完成的,对于复杂的数据排序需求具有很高的灵活性。...

    List中保存对象,按对象中某一属性排序【含程序源码】

    在编程领域,特别是Java或...总的来说,掌握按对象属性排序的能力是编程中一项重要的技能,这涉及到对面向对象编程的理解、列表操作以及排序算法的应用。通过实践和学习,你可以更熟练地处理各种数据结构和数据操作。

    List集合按照对象中某个属性排序通用工具类(按对象中某属性排序)

    在开发中,我们可能会遇到,我们会根据不同情况对一个List集合进行排序操作,为了方便List集合根据对象中的某一个属性进行排序,开发了此工具类:

    Java实现储存对象并按对象某属性排序的几种方法示例

    以上三种方法都能满足按对象属性排序的需求,选择哪种取决于具体的应用场景。如果需要保持集合的有序性,`TreeSet`是很好的选择;如果数据存储在数组中,`Arrays.sort()`简洁高效;而`List`的使用者则可以利用`...

    JAVA 对象数组按照多个属性进行排序

    总结一下,当需要对Java对象数组按多个属性排序时,我们可以: 1. 实现`Comparator`接口并自定义`compare()`方法。 2. 使用lambda表达式或方法引用来创建`Comparator`实例,使代码更加简洁。 3. 对于数组,使用`...

    java版本List中对象多属性排序.rar

    在Java编程中,对List集合中的对象进行多属性排序是一项常见的任务。这通常涉及到自定义比较逻辑,以满足复杂的数据排序需求。在这个“java版本List中对象多属性排序.rar”压缩包中,我们可能找到了一个关于如何在...

    List 对象属性排序

    ### List对象属性排序知识点 #### 一、概述 在Java编程中,经常需要对`List`集合中的对象按照特定属性进行排序。传统的方法是在每个实体类中重写`Comparable`接口或提供比较器(`Comparator`),这不仅增加了代码...

    js对象数组按属性快速排序

    按所推荐的程序在IE下跑了下,的确,排序耗时很小。 代码如下: [removed] /* * 洗牌 */ function ... /* * 快速排序,按某个属性,或按“获取排序依据的函数”,来排序. * @method soryBy * @static * @

    Compable和Comparator自定义对象属性排序

    可以通过两种方式自定义对象的属性大小进行比较,对一个list或数组对根据属性排序一个list或数组

    Java 对象属性map排序示例

    **Java对象属性排序** 如果我们有一个对象类,其中包含一个Map属性,我们可以先对Map进行排序,然后再处理对象列表。假设我们有以下User类: ```java public class User { private String name; private Map, ...

    根据对象属性将对象排序

    ### 根据对象属性将对象排序 在编程领域中,我们经常会遇到需要对一组对象进行排序的需求。这种排序可以基于单个属性或者多个属性来进行。本文档将详细讲解如何通过对象的一个或多个属性来实现对象的排序,并支持...

    JavaScript对象数组如何按指定属性和排序方向进行排序

    本文将详细讲解如何根据指定的属性和排序方向对JavaScript对象数组进行排序。 首先,了解JavaScript数组的`sort()`方法。`sort()`方法允许我们对数组元素进行原地排序,它接受一个可选的`compareFunction`参数,...

    原生js图片按自定义属性排序效果源码下载

    本资源提供的"原生js图片按自定义属性排序效果源码下载"是一个实用的示例,它展示了如何利用JavaScript来实现对图片进行排序,根据自定义的属性值来调整它们在页面上的显示顺序。下面我们将深入探讨相关的JavaScript...

Global site tag (gtag.js) - Google Analytics