sort() 方法用于对数组进行排序。
一、默认情况
在默认情况下, sort() 方法按升序排列数组项。为了实现排序, sort() 方法会调用每个数组项的 toString() 转型方法,然后
比较得到的字符串,已确定如何排序。如下:
var arr = ["orange","apple","banana"];
arr.sort();
console.log(arr);//结果["apple", "banana", "orange"]
ps:但是,即使数组中的每一项都是数值,sort() 方法比较的也是字符串,如下:
var arr = [0,1,8,10,18];
arr.sort();
console.log(arr);//结果[0, 1, 10, 18, 8]
二、对数值进行排序
sort() 方法可以接收一个比较函数作为参数。
比较函数接收两个参数,如果第一个参数应该位于第二参数之前则返回一个负数,如果两个参数相等则返回0,如果第一个参数位于第二个之后则返回一个正数。
function compare(a, b){
return a - b;//a - b 按升序排列比较函数 ; b-a 按降序排列比较函数
}
var arr = [0,1,8,10,18];
arr.sort(compare);
console.log(arr);//结果[0, 1, 8, 10, 18]
三、根据某个对象属性对数组进行排序
先定义一个函数,它接收一个属性名,然后根据这个属性名来创建一个比较函数。下面是这个函数的定义:
function createComparisonFunction(propertyName){
return function(object1, object2){
var a = object1[propertyName];
var b = object2[propertyName];
return a-b;//返回一个根据属性名的值,按升序排列比较函数
}
}
在内部函数接收到propertyName参数后,它会使用方括号表示法来取得给定属性的值。
上面这个函数可以在像在下面例子中这样使用。
var data = [{name:"lisi", age: 32}, {name:"zhangsan", age: 22}];
data.sort(createComparisonFunction("name"));
console.log(data[0].name);//lisi
data.sort(createComparisonFunction("age"));
console.log(data[0].name);//zhangsan
分享到:
相关推荐
JavaScript中的`sort()`方法是数组对象的一个非常重要的成员,它允许我们对数组的元素进行排序。这个方法的核心在于,它可以接受一个可选的`sortby`参数,该参数是一个比较函数,用来定义排序规则。 首先,如果我们...
在JavaScript中,`sort()` 方法是一个非常实用的功能,它能够对数组中的元素进行排序。本文将详细介绍`sort()`方法的工作原理,包括其默认行为以及如何通过自定义比较函数来实现更复杂的排序逻辑。此外,我们还将...
### JavaScript中数组sort()方法的基本使用与踩坑记录 #### 一、sort()方法概述 在JavaScript编程中,数组操作非常频繁,其中一种常见的需求就是对数组进行排序。`sort()`方法是JavaScript数组的一个内置方法,它...
JavaScript 中的 function 使用方法 JavaScript 中的 function 使用方法可以分为两种:作为普通逻辑代码容器和作为对象。 一、function 作为普通函数 在 JavaScript 中,function 可以作为普通函数使用,类似于 C...
运用javascript排序,数组的sort方法
在JavaScript中,`Array.prototype.sort()`方法是一个非常实用的功能,它允许我们对数组进行排序。然而,在处理表格数据时,我们需要特别注意这个方法的工作原理,因为它默认的排序方式可能会导致意外的结果。下面...
手册会详细讲解这些新特性的使用方法和优势。 这个“JavaScript语言中文参考手册”将所有这些知识点以中文形式呈现,方便国内开发者阅读和理解,旨在降低学习门槛,提高学习效率。无论你是准备踏入JavaScript世界的...
本文通过一个具体的实例,分析了在JavaScript中使用sort方法时出现的一个错误用法,并给出了解决方案。 首先,我们来看sort方法的正确使用方式。在JavaScript中,sort方法可以接受一个比较函数作为参数,用于定义...
文档"Javascript数组操作整理.doc"可能包含了对数组常见操作的详细总结,如遍历方法(`for`循环、`forEach`、`map`等)、查找方法(`indexOf`、`find`、`filter`等)、排序方法(`sort`)、转换方法(`concat`、`...
本文实例分析了javascript中sort()的用法。分享给大家供大家参考。具体分析如下: 函数的语法: arrayObject.sort(sortby) you think this is not the right way but you love it 这里还用到了split函数,目的是...
使用`search`方法可以查找一个字符串中是否存在另一个子字符串: ```javascript var myVariable = "Hello there"; var thereIndex = myVariable.search("there"); document.write(thereIndex); ``` 如果找到了子...
自定义`sort()` 方法中的比较函数是一种强大的工具,可以帮助开发者针对不同的数据类型和需求定制排序逻辑。无论是简单的字符串或数值排序,还是复杂的对象属性排序,通过合理设计比较函数,都可以轻松实现高效且...
JavaScript是目前广泛使用的网页编程语言之一,它的数组对象为编程提供了很多便捷的方法来处理数据集合。...希望本文的内容能够帮助大家更好地理解和掌握JavaScript中数组的sort()和reverse()方法的使用。
在本文中,我们将深入探讨`sort()`方法的使用,通过实例来详细解析其工作原理。 首先,我们来看一个基础的数字数组排序的例子: ```javascript var arr = [5, 32, 28, 66, 2, 15, 3]; arr.sort(function(a1, a2) { ...
此外,高阶函数、map/reduce、filter和sort等方法为处理数组提供了便利,闭包能够帮助我们理解JavaScript中变量的作用域,而箭头函数则为书写更简洁的函数提供了语法糖。 JavaScript中的标准对象,如Date和RegExp,...
JavaScript中的`Array.prototype.sort()`方法是用于对数组的元素进行排序的一个强大工具。它可以直接对数组进行原地排序,也就是说,排序操作不会创建新的数组,而是直接修改原数组。但需要注意的是,`sort()`方法...
标题“0301drag-sort-table_javascript_veeqi”暗示了一个关于JavaScript实现的拖动排序表格的项目。这个项目可能包含一个可交互的表格,用户可以通过拖动行来改变表格中的数据顺序。这里,我们将深入探讨JavaScript...