javaScript——数组

来源:互联网 发布:东北大学网络教育查询 编辑:程序博客网 时间:2024/06/12 00:31

一、数组

在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>












0 0