数组中的方法

对象中的方法:
转换方法:
var box=['a',28,'江苏',new Date()];
//内置方法:
alert(typeof(box)); //a,28,江苏,Tue Jul 11 2017 12:37:37 GMT+0800 (中国标准时间) object
alert(typeof(box.toString())); //a,28,江苏,Tue Jul 11 2017 12:37:37 GMT+0800 (中国标准时间) string
alert(typeof(box.valueOf())); //a,28,江苏,Tue Jul 11 2017 12:37:37 GMT+0800 (中国标准时间) object
alert(typeof(box.toLocaleString())); //a,28,江苏,2017/7/11 下午12:37:20 本地格式区域字符串电脑 string

var box=['a',28,'江苏'];
alert(box.join('|')); //方法运行过后返回按|分割的字符串
alert(typeof box); //原数组没有任何变化,类型还是object

栈方法是后进先出
push方法和pop方法
var box=['a','b','c'];
alert(box.push('d','e')); //给数组末尾添加了N个元素,并返回数组最新长度
alert(box);
alert(box.pop()); //移除数组最后的元素,并且返回移除的元素
alert(box);

而队列方法就是先进先出。push向数组末端添加元素,shift方法从数组前端移除一个元素。
var box=['a','b','c'];
alert(box.push('d'));
alert(box);
alert(box.shift()); //移除数组开头的一个元素,并且返回这个元素
alert(box);

unshift()方法为数组前端添加一个元素
var box=['a','b','c'];
alert(box.unshift('d')); //4 但是unshift方法在IE中是undefined,不兼容
alert(box);

------------------------------------------------------------------------------

排序 reverse()逆向排序
var box=[1,2,3,4,5];
alert(typeof box.reverse()); //方法执行后返回一个逆序后的数组
alert(typeof box); //原数组也被逆序了,说明是引用
------------------------------------------------------------------------------
sort()排序
var box=[4,1,6,2,7,3,9];
alert(box.sort()); //从小到大排序,返回排序后的数组
alert(box); //[1,2,3,4,6,7,9] 原数组也被从小到大排序了

字符串排第一个
var box=['0','1','5','10','15'];
alert(box.sort()); //0,1,10,15,5

var box=[0,1,5,10,15];
alert(box.sort()); //0,1,10,15,5 顺序不对

传个参数证明是数值排序:
function compare(value1,value2){
if(value1<value2){
return -1;
}else if(value1>value2){
return 1;
}else {
return 0;
}
}
var box=[0,1,5,10,15];
alert(box.sort(compare)); //0,1,5,10,15
alert(box.reverse());
alert(box);

------------------------------------------------------------------------------
concat()方法可以基于当前数组创建一个新数组
var box=['1','2','3'];
var box2=box.concat('4');
alert(box2);
alert(box);
------------------------------------------------------------------------------
slice()方法可以基于当前数组获取指定区域元素并创建一个新数组。
var box=['1','2','3'];
var box2=box.slice(1);
alert(box2); //2,3

var box=['张三',28,'江苏','计算机','编程'];
var box2=box.slice(1,3); //这里不是从第一个位置取3个,而是从第一个位置取到第三个位置
alert(box2); //28,江苏
------------------------------------------------------------------------------
splice()主要用途是向数组的中部插入元素。

删除功能:
var box=['a','b','c'];
var box2=box.splice(0);
alert(box2); //a,b,c
----------------------------
var box=['a','b','c'];
var box2=box.splice(0,2); //这里表示从第0个位置取2个,而不是从第0个位置取到第2个位置
alert(box2); //a,b
alert(box); //c 删除后剩一个元素

插入功能:
var box=['a','b','c'];
var box2=box.splice(1,0,'江苏','计算机编程'); //从第一个位置删除0个元素,再插入两个元素
alert(box2);
alert(box); //a,江苏,计算机编程,b,c

替换功能:
var box=['a',28,'c'];
var box2=box.splice(1,1,100);
alert(box2); //打印出被删除的那条 28
alert(box); //a,100,c

posted @ 2017-07-11 15:37  耿鑫  阅读(129)  评论(0编辑  收藏  举报