JavaScript之Soft排序
语法
array.sort(sortfunction)
参数 Values
参数 | 描述 |
---|---|
sortfunction | 可选。规定排序顺序。必须是函数。 |
返回值
Type | 描述 |
---|---|
Array | 对数组的引用。请注意,数组在原数组上进行排序,不生成副本。 |
1.对数组进行排序
var fruits = ["Banana", "Orange", "Apple", "Mango","PB","PA","PBC",,"PBA","pbc","a"];
fruits.sort();
console.log(fruits)
数组反转:
fruits.reverse();console.log(fruits)
2.对数字进行排序
默认地,sort() 函数按照字符串顺序对值进行排序(即按照UniCode码的顺序进行排序)。
该函数很适合字符串("Apple" 会排在 "Banana" 之前)。
不过,如果数字按照字符串来排序,则 "25" 大于 "100",因为 "2" 大于 "1"。
正因如此,sort() 方法在对数值排序时会产生不正确的结果。
我们通过一个比值函数来修正此问题:
- 按升序排序
var nums = [1,3,8,1314,520,125,888,999,666]nums.sort(function (a,b) {return a-b})console.log(nums)
按降序排序
var nums = [1,3,8,1314,520,125,888,999,666]nums.sort(function (a,b) {return b-a})console.log(nums)
3.比值函数
比较函数的目的是定义另一种排序顺序。
比较函数应该返回一个负,零或正值,这取决于参数:
function(a, b){return a-b}
当 sort() 函数比较两个值时,会将值发送到比较函数,并根据所返回的值(负、零或正值)对这些值进行排序。
实例:
当比较 40 和 100 时,sort() 方法会调用比较函数 function(40,100)。
该函数计算 40-100,然后返回 -60(负值)。
排序函数将把 40 排序为比 100 更低的值。
可以使用下面的代码片段来测试数值和字母排序:
var points1 = [40, 100, 1, 5, 25, 10];var points2 = [40, 100, 1, 5, 25, 10];function soft1() {points1.sort();console.log("字母顺序排序")console.log(points1);}soft1()function soft2() {console.log("数字顺序排序")points2.sort(function(a, b){return a - b});console.log(points2);}soft2()
JavaScript之Soft排序相关推荐
- JavaScript中的排序算法
JavaScript中的排序算法 一.评判算法的标准 二.算法的分类 三.经典排序算法的性能指标 1.冒泡排序 2.选择排序 3.插入排序 4.Shell希尔排序(分组插入排序) 5.快速排序 6.归 ...
- javascript写各种排序算法
在知乎上看到这个题目,就自己写了一下,在这里附上链接,里面有各种排序的动态图,非常形象直观,有助于新手对排序算法理解,链接:常见排序算法之JavaScript实现 首先各种排序算法都会用到的交换函数: ...
- ULID 与 UUID:用于 JavaScript 的可排序随机 ID 生成器
UUID 是软件开发中最常用的通用标识符之一.然而,在过去的几年里,新的替代品挑战了它的存在. 其中,ULID 是领先的竞争对手之一,因为它提供可排序的唯一 ID. 在本文中,我将通过示例讨论 ULI ...
- 【JavaScript】 sort排序
排序方法 插入排序:几个数排好序,再来一个数和排好序的最后一个数比,再与前一个比,-,插入. 二分插入排序:几个数排好序,再来一个数和中间数比,再与左/右的中间数比,-,插入. 归并排序:每两个排序, ...
- JavaScript 中常见排序算法详解
十大经典算法 一张图概括: 名词解释: n:数据规模 k:"桶"的个数 In-place:占用常数内存,不占用额外内存 Out-place:占用额外内存 稳定性:排序后2个相等键值 ...
- JavaScript算法——桶排序
一.桶排序的原理 桶排序是计数排序的升级版.它利用了函数的映射关系,高效与否的关键就在于这个映射函数的确定.思路大致是, 设置一个定量的数组当作空桶: 遍历输入数据,并且把数据一个一个放到对应的桶里去 ...
- JavaScript Switc希尔排序
算法详解: 希尔排序的基本思想: (1)选择一个希尔增量序列t1,t2,-,tk,(递减序列,tk=1) (2)按增量序列个数k,对序列进行k 趟排序, 每趟排序,根据对应的增量ti,将待排序列分割成 ...
- 最近学的用javascript给datagrid排序
比较简单的排序方法,对于小型的排序,在客户端完成就可,麻烦客户端,以来刷新麻烦来回传数据,二来写代码也容易出错. 调用方法:给datagrid的表头的各个列标题添加onclick事件,然后调用sort ...
- JavaScript 几种排序算法实现(冒泡、选择、插入、归并、快速排序)
1. 冒泡 // 冒泡 - 每次循环, 将两两中偏大的元素移动到右边 for (let i = 0; i < arr.length - 1; i++) {for (let j = i; j &l ...
最新文章
- linux error log 换行,日志提示
- Windows Presentation Foundation(WPF)中的数据绑定(使用XmlDataProvider作控件绑定)
- PXC管理数据库服务器(引擎)
- hihocoder 第113周 Fibonacci(动态规划)
- 4.有关日期格式属性修改常识,v$nls_parameters,between and,查询指定部门的员工信息,in和null,like模糊查询,order by后面可以跟:列名、表达式、别名、序号
- Linux系统集群架构线上项目配置实战(一)
- hdfs中与file数组类似的数组_Chapter05 Java中的数组
- 前端学习(2463):vue中 关于$emit的用法
- 从 Storm 迁移到 Flink,美团外卖实时数仓建设实践
- 面试官:讲一下Jvm中如何判断对象的生死?
- 吴恩达神经网络和深度学习-学习笔记-12-RMSprop算法
- 【清华大学-腾讯】关系提取综述,Review and Outlook for Relation Extraction
- android app 架构设计_这些冷门的App,好用到为你打开新世界大门
- android 如何启动nfc卡模拟模式_用手机模拟小区业主卡,出入更加便捷,免去带卡的烦恼,(限安卓)...
- 数字带通传输系统matlab仿真实验,基于MATLAB的数字带通传输系统设计
- 阿里矢量库图标在线链接的使用方法,引入,改变大小与颜色
- 黑客是如何发现女朋友出轨的
- 易班php,易班PHP-SDK开发
- 矩阵的LU分解——MATLAB实现
- php公众号多域名授权,多个网站用一个微信公众号授权域名的坑
热门文章
- asp后缀的文件如何运行
- 【基础算法训练】——滑动窗口
- 【黑金原创教程】【FPGA那些事儿-驱动篇I 】实验二十五:SDHC模块
- C# 学习随笔 获取计算机硬件参数,包括(CPU ID,MAC,磁盘ID和IP地址)
- python个人总结(二)
- js时间戳转换年月日
- 探秘Linux特殊设备文件:(/dev/null,/dev/zero,/dev/random,/dev/urandom等)
- java nio attachment_7. 彤哥说netty系列之Java NIO核心组件之Selector
- 设为主页代码及添加到收藏夹代码大全 1
- 【Linux学习-入门推荐】