首页 > 编程语言 >如何使用JavaScript对数字数组进行排序?

如何使用JavaScript对数字数组进行排序?

时间:2022-12-25 15:32:49浏览次数:37  
标签:document 23 JavaScript write 数组 marks 100 排序

如何使用JavaScript对数字数组进行排序?_升序

英文 | https://www.geeksforgeeks.org/how-to-sort-numeric-array-using-javascript/

翻译 | web前端开发 (ID:web_qdkf)


所述的JavaScript的Array.sort()方法被用来就地数组元素进行排序,并返回排序后的数组。此函数以字符串格式对元素进行排序。它对字符串数组有效,但对数字无效。例如:如果数字按字符串排序。

例:

输入:[12,25,31,23,75,81,100]
错误的输出:[100、12、23、25、31、75、81]
正确的输出:[12、23、25、31、75、81、100]

示例:本示例以字符串格式对数组元素进行排序。

<script>


// Declare and initialize original array
var marks = [12, 25, 31, 23, 75, 81, 100];


// Print Before Sortring Array
document.write("Original Array</br>");
document.write(marks);


document.write("</br>");


// Call sort fucntion
marks.sort();


document.write("</br>After Sorting in Ascending Order</br>");


// Print Srted Numeric Array
document.write(marks);
</script>

输出:

原始阵列
12,25,31,23,75,81,100


升序排序后
100,12,23,25,31,75,81

那么,如何对数字数组元素进行排序?
有两种方法可以对数字数组进行升序排序。

  • 使用比较功能
  • 通过创建循环

使用比较功能:我们可以创建一个比较功能,该功能返回负值,零值或正值。
句法:

函数(a,b){返回a-b}
  • 负值(a> b)=> a将放置在b之前
  • 零值(a == b)=>不变
  • 正值(a <b)=> a将位于b之后

示例:本示例使用compare函数对数组元素进行升序排序。

<script>


// Declare and initialize an Array
var marks = [12, 25, 31, 23, 75, 81, 100];


// Print Before sortring array
document.write("Original Array</br>");
document.write(marks);


document.write("</br>");


// Sort elements using compare method
marks.sort(function(a, b){return a - b});


document.write("</br>After sorting in Ascending order</br>");


// Print sorted Numeric array
document.write(marks);
</script>

输出:

原始阵列
12,25,31,23,75,81,100


升序排序后
12,23,25,31,75,81,100

现在,我们要以降序对数组进行排序,而不需要更改比较函数。

句法:

函数(a,b){返回b-a}
  • 负值(b <a)=> a将位于b之后
  • 零值(a == b)=>不变
  • 正值(b> a)=> a将位于b之前

示例:本示例使用compare函数对数组元素进行降序排序。

<script>


// Declare and initialize an Array
var marks = [12, 25, 31, 23, 75, 81, 100];


// Print Before sortring array
document.write("Original Array</br>");
document.write(marks);


document.write("</br>");


// Sort elements using compare method
marks.sort(function(a, b){return b - a});


document.write("</br>After sorting in Ascending order</br>");


// Print sorted Numeric array
document.write(marks);
</script>

输出:

原始阵列
12,25,31,23,75,81,100


升序排序后
100,81,75,31,25,23,12

创建循环:我们还可以使用循环对数组元素进行排序。在这里,我们将使用冒泡排序(简单排序技术)对数组元素进行升序排序。

例:

<script>


// Sorting function
function Numeric_sort(ar) {


var i = 0, j;


while (i < ar.length) {
j = i + 1;
while (j < ar.length) {


if (ar[j] < ar[i]) {
var temp = ar[i];
ar[i] = ar[j];
ar[j] = temp;
}
j++;
}
i++;
}
}


// Original Array
var arr = [1, 15, 10, 45, 27, 100];


// Print Before sortring array
document.write("Original Array</br>");
document.write(arr);


document.write("</br>");


// Function call
Numeric_sort(arr);


document.write("</br>Sorted Array</br>");


// Print sorted Numeric array
document.write(arr);
</script>

输出:

原始阵列
1,15,10,45,27,100


排序数组
1,10,15,27,45,100

本文完~


如何使用JavaScript对数字数组进行排序?_升序_02

如何使用JavaScript对数字数组进行排序?_升序_03

标签:document,23,JavaScript,write,数组,marks,100,排序
From: https://blog.51cto.com/u_15809510/5968190

相关文章

  • 15个必须知道的JavaScript数组方法
    原文| https://www.ibrahima-ndaw.com/blog/15-must-known-javascript-array-methods-in-2020/译文|杨小二在JavaScript中,数组是一个特殊的变量,用于存储不同的元素。它......
  • 448. 找到所有数组中消失的数字
    找到所有数组中消失的数字给你一个含n个整数的数组nums,其中nums[i]在区间[1,n]内。请你找出所有在[1,n]范围内但没有出现在nums中的数字,并以数组的形式返......
  • 您应该知道的11个JavaScript和TypeScript速记
    英文| https://blog.bitsrc.io/11-javascript-and-typescript-shorthands-you-should-know-690a002674e0在编写简洁高效的代码与编写仅可读的代码之间有一条很好的界限。......
  • ECMAScript 6 入门教程—数组的扩展
    作者|阮一峰1、扩展运算符含义扩展运算符(spread)是三个点(​​...​​)。它好比rest参数的逆运算,将一个数组转为用逗号分隔的参数序列。console.log(...[1,2,3])//123......
  • 107条Javascript的常用语句
    1、document.write(""); 输出语句2、JS中的注释为//3、传统的HTML文档顺序是:document->html->(head,body)4、一个浏览器窗口中的DOM顺序是:window->(navigator,screen,......
  • 教你用JavaScript实现搜索展开
    欢迎来的我的小院,恭喜你今天又要涨知识了!案例内容利用JavaScript实现搜索框的移动展开。演示学习<!DOCTYPEhtml><htmllang="en"><head><metacharset=......
  • Javascript的函数、递归函数、作用域
      代码示例:<!DOCTYPEhtml><html><head><metacharset="utf-8"><title></title></head><body><script>fu......
  • JavaScript
    认识编程语言计算机语言人与计算机之间通讯的语言,比编程语言更广泛,如HTML是标记语言,也是计算机语言,但不是编程语言编程语言用来定义计算机程序的形式语言,用来向计算机......
  • JavaScript实现点击 `播放列表` 隐藏下面的列表项
    实现思路:根据h2标签名获取元素对象,并获取索引是0的元素【页面中只有一个h2标签】给该元素绑定单击事件(onclick),并绑定函数在函数的外面定义一个变量flag,用来记录状态......
  • C++ sort函数中利用lambda进行自定义排序规则
    在c++中,由于sort()函数默认提供的是由小到大的排序方式,因此有时候我们需要自定义排序规则来实现由大到小的排序。一维vector<>排序#include<bits/stdc++.h>usingnam......