一、数组
在ECMAScript中数组是非常常用的引用类型。
ECMAScript所定义的数组和其他语言中的数组有着很大的区别,那么首先要说的就是数组也是一种对象。
所谓数组,其实就是一组数据的集合,而在javaScript中,数组更加类似于java中的Map容器,不仅长度是可以变化的,而且数据类型也可以不同!!这在java中是完全不允许的!!
js中数组的常用方法有:push、pop(这两个函数我写一下简单的demo,大家可以上机测试,下面的几个函数将不再写demo,大家直接自己学着去用一下,用法类似)
<script type = "text/javascript" charset = "utf-8">
var arr = new Array();
var result = arr.push(1,2,3);
alert(arr); //arr.push()向数组中存入数据
alert(result); //arr.push()的返回值为数组的总长度(原先的长度+推送进去的数据长度)
var result1 = arr.pop();
alert(arr); // arr.pop()从数组尾部删除一个元素
alert(result1); //arr.pop()的返回值为删除的那个元素
</script>
shift、unshift
arr.shift()移除数组的第一个元素
arr.shift()的返回值是移除的那一个元素
arr.unshift()从头部插入数据元素
arr.unshift()返回值为加上插入进去的数据的数组的总长度
splice、slice
splice() :
第一个参数:截取的起始位置
第二个参数:截取的个数
第三个参数:追加元素内容
slice():
返回值为截取的元素内容,而且参数指截取的范围【左闭右开】
注意:
splice操作数组本身,而slice不操作数组本身。
concat、join、sort、reverse等
result = arr1.concat(arr2):不操作数组本身,得到的返回值是合并粘连两个数组内容的效果
result = arr1.join():不操作数组本身,在数组元素之间添加传入的参数内容
arr.sort():操作数组本身,涉及大小,但是是按照比较每一位字符大小来进行排序
arr.reverse():操作数组本身,使数组变为倒序,仅按照位置改变,不涉及大小
注意:
要想实现按照数值大小对数组进行排序,则需要自定义函数(代码示例):
<script type = "text/javascript" charset = "utf-8">
var arr = [9,75,13,4];
function compare(value1,value2){ //通过自定义一个函数从而按照参数值的大小进行排序,而不仅仅是一个简单的排序
if(value1<value2){
return -1;
}else if(value1>value2){
return 1;
}else{
return 0;
}
}
arr.sort(compare);
alert(arr);
</script>