/**
* js中数组类似于Java里的map容器,长度可随意改变,元素类型任意
*/
//var arr = [1,2,3,4,true,"ssfd",new Date()];
//alert(arr.length);
//alert(arr);// 隐式调用toString()
/**
*push 和 pop
*/
var arr = [new Date(),false];
//arr.push(1,2);//返回新数组的个数
//alert(arr);
arr.pop();//从数组尾部移除一个元素,无参数(返回值为移除的元素)
/**
*shift 和unshift
*/
var arr = [1,2,3];
//alert(arr.shift());//从头部移除一个元素(返回移除的值)
//alert(arr.unshitf(10,false));//从头部插入多个元素(返回新数组元素个数)
/**
*splice(操作数组本身) 和 slice(不操作数组本身)
splice:第一个参数:起始位置
第二个参数:表示截取的个数
第三个参数以后:表示追加的新元素个数
*/
var arr = [1,2,3,4,5];
//arr.splice(1,2,3,4,5);
//alert(arr);//1 3 4 5 4 5
arr.slice(2,4);
//alert(arr);//1,2,3,4,5
/**
*操作数组的方法 concat join
*/
var arr1 = [1,2,3];
var arr2 = [4,5];
var result = arr1.concat(arr2);//合并操作 不操作数组本身
//alert(result);
var result2 = arr1.join("-");//不操作数组本身 1-2-3
//alert(result2);
/**
*sort排序 (按字符串)
reverse倒序
*/
var arr3 = [3,4,1,5];
//alert(arr3.sort());//1,3,4,5
//alert(arr3.reverse());//按集合的位置倒序 5 1 4 3
var arr4 = [10,2,4,1,7];
//alert(arr4.sort());//1,10,2,4,7 按字符串顺序排序
function compare(value1,value2){
if(value1 < value2){
return -1;
}else if(value1 > value2){
return 1;
}else{
return 0;
}
}
alert(arr4.sort(compare));
* js中数组类似于Java里的map容器,长度可随意改变,元素类型任意
*/
//var arr = [1,2,3,4,true,"ssfd",new Date()];
//alert(arr.length);
//alert(arr);// 隐式调用toString()
/**
*push 和 pop
*/
var arr = [new Date(),false];
//arr.push(1,2);//返回新数组的个数
//alert(arr);
arr.pop();//从数组尾部移除一个元素,无参数(返回值为移除的元素)
/**
*shift 和unshift
*/
var arr = [1,2,3];
//alert(arr.shift());//从头部移除一个元素(返回移除的值)
//alert(arr.unshitf(10,false));//从头部插入多个元素(返回新数组元素个数)
/**
*splice(操作数组本身) 和 slice(不操作数组本身)
splice:第一个参数:起始位置
第二个参数:表示截取的个数
第三个参数以后:表示追加的新元素个数
*/
var arr = [1,2,3,4,5];
//arr.splice(1,2,3,4,5);
//alert(arr);//1 3 4 5 4 5
arr.slice(2,4);
//alert(arr);//1,2,3,4,5
/**
*操作数组的方法 concat join
*/
var arr1 = [1,2,3];
var arr2 = [4,5];
var result = arr1.concat(arr2);//合并操作 不操作数组本身
//alert(result);
var result2 = arr1.join("-");//不操作数组本身 1-2-3
//alert(result2);
/**
*sort排序 (按字符串)
reverse倒序
*/
var arr3 = [3,4,1,5];
//alert(arr3.sort());//1,3,4,5
//alert(arr3.reverse());//按集合的位置倒序 5 1 4 3
var arr4 = [10,2,4,1,7];
//alert(arr4.sort());//1,10,2,4,7 按字符串顺序排序
function compare(value1,value2){
if(value1 < value2){
return -1;
}else if(value1 > value2){
return 1;
}else{
return 0;
}
}
alert(arr4.sort(compare));
返回值
对数组的引用。请注意,数组在原数组上进行排序,不生成副本。
说明
如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说得更精确点,是按照字符编码的顺序进行排序。要实现这一点,首先应把数组的元素都转换成字符串(如有必要),以便进行比较。
如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值。
- function sortNumber(a,b){
return a - b }