JavaScript数字数组怎么按数字大小排序?

如题所述

    先写上我们的示例代码,定义了一个数组arr,数组包括有几个字母,不按顺序的,要对数组进行排序,直接调用sort方法。再加上一些输出语句,console.log是指在浏览器的调试控制台里输出内容。

    运行页面,我们在控制台里看下结果,如图,数组调用sort方法后,就按字母的升序做好排序了。

    修改下代码,把数组内容从字符串改成数字,然后再调用sort方法。

    修改后,运行页面,再看下结果。

    数组排序都是按字符串来排序的,而不管数组内容是数字还是字符串。

    修改下sort排序方法,把刚才定义的方法名传进来。

    运行页面,可以看到现在的数组就是按数字从小到大排序的。

好,Javascript中的数字数组排序非常简单,JS本身提供了内置的排序方法,直接调用就可以了。

1.var arr = [1, 20, 49, 32, 43, 69];

2.arr.sort();

3.console.log(arr); // [1, 20, 32, 43, 49, 69]

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-01-04

Javascript中的数字数组排序方法:

var arr = [1, 20, 49, 32, 43, 69];
arr.sort();
console.log(arr); // [1, 20, 32, 43, 49, 69]

还有一种更加灵活的写法:


arr.sort(function(a, b){
return a - b;
});
console.log(arr); // [1, 20, 32, 43, 49, 69]

如果想倒序也很简单,交换下return中a、b的位置就可以了:


arr.sort(function(a, b){
return b - a;
});
console.log(arr); // [69, 49, 43, 32, 20, 1]

第2个回答  2018-01-04

JavaScript数字数组按数字大小排序代码如下:

<html>

<head>

<title>数组对象的sort()方法</title>

<script language="javascript" type="text/javascript">

<!--

var arr = [39,11,3,9,1,77];

document.write("原数组元素为:" + arr.toString() + "<br>");

arr.sort();

document.write("按字符编码排序:" + arr.toString() + "<br>");


//正序排序

function ascOrder(x,y)

{

if (x>y)

{

return 1;

}

else

{

return -1;

}

}

//倒序排序

function descOrder(x,y)

{

if (x>y)

{

return -1;

}

else

{

return 1;

}

arr.sort(ascOrder);

document.write("按数字正序排序:" + arr.toString() + "<br>");

arr.sort(descOrder);

document.write("按数字倒序排序:" + arr.toString() + "<br>");

-->

</script>

</head>

<body>

</body>

</html>

JavaScript一种直译式脚本语言,是一种动态类型、弱类型、基于原型的语言,内置支持类型。它的解释器被称为JavaScript引擎,为浏览器的一部分,广泛用于客户端的脚本语言,最早是在HTML(标准通用标记语言下的一个应用)网页上使用,用来给HTML网页增加动态功能。 

在1995年时,由Netscape公司的Brendan Eich,在网景导航者浏览器上首次设计实现而成。因为Netscape与Sun合作,Netscape管理层希望它外观看起来像Java,因此取名为JavaScript。但实际上它的语法风格与Self及Scheme较为接近。

为了取得技术优势,微软推出了JScript,CEnvi推出ScriptEase,与JavaScript同样可在浏览器上运行。为了统一规格,因为JavaScript兼容于ECMA标准,因此也称为ECMAScript。

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网