博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JS面试Q&A(续):Javascript数组排序, 默认是字符串Unicode排序, 不适合数字
阅读量:6233 次
发布时间:2019-06-21

本文共 352 字,大约阅读时间需要 1 分钟。

Q:下面代码段的执行后data里面的数据是什么?为什么?

var data= [40,1,5,200]

data.sort();

 

 

A: data的内容是[1, 200, 40, 5]

因为,Javascript数组排序, 默认是字符串Unicode排序。

如果要按照数值升序排列成: [1,5,40,200], 应该如何修改?

 

A: 必须提供自己的排序函数, 修改如下:

data.sort(compareNumbers); 

function compareNumbers(a, b) {

  return a - b;  // 如果是字符串, 先转为 数字, 再减, 如果转化不成功, 则是NaN

}

 

转载于:https://www.cnblogs.com/GameEngine/p/6528788.html

你可能感兴趣的文章
SYSTEMTAP -ORACLE
查看>>
[唐诗]183清平调词三首-李白
查看>>
深入敌后,揭开骇客真面目
查看>>
使用 Drag and Drop 给Web应用提升交互体验
查看>>
Flutter 三探
查看>>
一道java面试题分析及思考
查看>>
全栈 - 12 数据库 用Python操作MySQL
查看>>
假如有一天,人工智能用于相亲
查看>>
0227 - 简单了解了 ETH 挖矿
查看>>
技术问答集锦(14)ThreadPoolExecutor
查看>>
macOS Charles 4.x版本的安装及使用(含破解激活)
查看>>
InnoDB透明页压缩与稀疏文件
查看>>
阅读SSM项目之scm【第二篇】
查看>>
聊聊springmvc中controller的方法的参数注解
查看>>
AspectJ 学习笔记
查看>>
GRU神经网络
查看>>
【log4】window用于设置小程序的状态栏、导航条、标题、窗口背景色。
查看>>
gpexpand分析
查看>>
前端每周清单第 44 期: 2017 JS 调查报告、REST 接口实时化、ESM 的过去与未来
查看>>
IP、UDP初探
查看>>