JavaScript 数组排序

admin2年前 (2023-07-02)it知识580

sort() 方法以字母顺序进行排序

var  fruits = ["banana", "orange","apple"];fruits.sort();

reverse() 方法反转数组中的元素。

fruits.reverse();

默认的sort() 函数按照字符串顺序对值进行排序。

该函数很合适字符串(&quo[文]t;A"会排在&q[章]uot;B之前")[来]


这里还有种比值函数

比较函数的目的是定义另一种排[自]序顺序。

比较函数应该返回一个负数,零或正值,这取决于参数:

function(a, b){return a-b}

当sort()函数比较两个值时,会将值发送到比较函数,并根据所返回的值(负,零,正值)对这些值进行排序。

<button onclick="myFunction1()">以字母顺序排序</button><button onclick="myFunction2()">以数字升序顺序排序</button><button onclick="myFunction3()">以数字降序顺序排序</button><p id="demo"></p><script>  var points = [40, 100, 1, 5, 25, 10];  document.getElementById("demo").innerHTML = points;  function myFunction1() {       points.sort();       document.getElementById("demo").innerHTML = points;  }  function myFunction2() {       points.sort(function(a, b){ return a - b });       document.getElementById("demo").innerHTML = points;  }  function myFunction3() {       points.sort(function(a, b){ return b - a });       document.getElementById("demo").innerHTML = points;  }</script>

随机排序数组 

var points = [40, 100, 1, 5, 25, 10];points.sort(function(a, b){return 0.5 -  Math.random()});

对数组使用Math.max()

function myArrayMax(arr) {  return Math.max.apply(null, arr);}

Math.max.apply([1,2,3]) = Math.max(1,2,3)

对数组使用Math.min()

function myArrayMin(arr) {          return Math.min.apply(null, arr);}

Math.min.apply([1,2,3]) = Math.min(1,2,3)


排序对象数组

如果在数组中包含对象如何进行排序

var cars = [{type: "Volvo", year: 2020},{type: "Saab", year: 2021},{type: "BMW", year: 2022}];cars.sort(function(a , b) {return a.year - b.year});function displayCars() {   document.getElementById("demo").innerHTML =   cars[0].type + " " + cars[0].year + "<br>" +   cars[1].type + " " + cars[1].year + "<br>" +   cars[2].type + " " + cars[2].year;}


比较字符串属性

var cars = [{type: "Volvo", year: 2020},{type: "Saab", year: 2021},{type: "BMW", year: 2022}];cars.sort(function(a , b) {   var x = a.type.toLowerCase();   var y = b.type.toLowerCase();   if(x < y) {return -1;}   if(x > y) { return 1;}   return 0;});function displayCars() {   document.getElementById("demo").innerHTML =   cars[0].type + " " + cars[0].year + "<br>" +   cars[1].type + " " + cars[1].year + "<br>" +   cars[2].type + " " + cars[2].year;}


标签: JavaScript

相关文章

JavaScript 数组迭代

数组迭代方法对每个数组项进行操作Array.foreach()方法为每个数组元素调用一次函数(回调函数)var txt = ""; var ...

JavaScript 对象原型

前面有一章提到无法为已有的对象构造器添加新属性Person.nationality = "English";  //得到的是undefine...

JavaScript 最新特征

JavaScript 的最新特征包括以下几个方面:类的私有变量:通过使用 # 符号,可以在类中定义私有变量,只能在类的内部访问,外部无法访问。空位合并操作符:使用 ?? 符号,可以在两项中任一项为 n...

JavaScript Map

Map 保存键值对,其中键可以是任何数据类型。Map会记住键的原始插入顺序。Map提供表示映射大小的属性。如何创建Map 可以通过以下方式创建Javascript 映射:将数组传递给new...

javascript的重要性

JavaScript在编程中具有以下重要性:前端开发:JavaScript是Web前端开发的基础语言,用于创建动态交互性和用户界面。它可以直接在浏览器中运行,使得开发者可以快速构建和部署Web应用程序...

JavaScript可以应用在哪些领域?

JavaScript的应用领域非常广泛,包括但不限于以下领域:网站开发:这是JavaScript最常用的领域之一,可以用于实现前端逻辑、动态特效、表单验证、导航栏、交互性等功能。移动开发:通过结合HT...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。