数组排序sort()
Posted 党兴明
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组排序sort()相关的知识,希望对你有一定的参考价值。
//排序 //var box = [1,2,3,4,5]; //alert(box.reverse()); //方法执行后返回逆序数组 //alert(box); //原数组也被改变 //alert(box.sort()); //从小到大排序 //sort方法的默认排序在数字排序上有些问题,因为数字排序和数字字符串排序的算法是一样的。 //我们必须修改这一特征,修改的方式,就是给sort(参数)方法传递一个函数参数。这点可以参考手册说明。 function compare(value1,value2){ if(value1<value2){ return -1; }else if(value1>value2){ return 1; }else{ return 0; } } var box = [0,1,5,15]; alert(box.sort(compare)); //这样才会排序正确 //如果要反向操作,即从大到小排序,正负颠倒即可。当然,如果要逆序用reverse()更加方便。
var box =["dang",22,new Date()]; //alert(box); //alert(box.toString()); //alert(box.valueOf()); //alert(box.toLocaleString()); // //alert(box.join("|")); //打印的字符串以|分割,默认以, //alert(box.push("编程","da")); //向数组添加元素,并且返回数组总长度 //alert(box.pop()); //移除数组最后元素,并且返回移除元素 //alert(box.shift()); //移除开头元素,并且返回 //alert(box.unshift("江苏")); //数组前边添加元素,并且返回长度,ie返回值不能用
//ECMAScript为操作已经包含在数组中的元素提供了很多方法。concat()方法可以基于当前数组创建一个新数组。slice()方法可以基于当前数组获取指定区域元素并创建一个新数组。splice()主要用途是向数组的中部插入元素。 var box = [‘李炎恢‘, 28, ‘盐城‘]; //当前数组 var box2 = box.concat(‘计算机编程‘); //创建新数组,并添加新元素 alert(box2); //输出新数组 alert(box); //当前数组没有任何变化 var box = [‘李炎恢‘, 28, ‘盐城‘]; //当前数组 var box2 = box.slice(1); //box.slice(1,3),2-4之间的元素 alert(box2); //28,盐城 alert(box); //当前数组 //splice中的删除功能: var box = [‘李炎恢‘, 28, ‘盐城‘]; //当前数组 var box2 = box.splice(0,2); //截取前两个元素 alert(box2); //返回截取的元素 alert(box); //当前数组被截取的元素被删除 //splice中的插入功能: var box = [‘李炎恢‘, 28, ‘盐城‘]; //当前数组 var box2 = box.splice(1,0,‘计算机编程‘,‘江苏‘); //没有截取,但插入了两条 alert(box2); //在第2个位置插入两条 alert(box); //输出 //splice中的替换功能: var box = [‘李炎恢‘, 28, ‘盐城‘]; //当前数组 var box2 = box.splice(1,1,100); //截取了第2条,替换成100 alert(box2); //输出截取的28 alert(box); //输出数组
以上是关于数组排序sort()的主要内容,如果未能解决你的问题,请参考以下文章
设计一个一维数组的排序函数p_sort,并调用它对10个整数进行排序。p_sort函数原型如下: