你的位置:首页 > 软件开发 > Java > javascript中数组类型的属性和方法

javascript中数组类型的属性和方法

发布时间:2017-03-18 00:00:43
和Object一样,Array类型也是ECMAScript中最常用的类型了。ECMAScript的数组虽然也是数据的有序列表,但还是与其他语言中的数组有很大的区别。比如ECMAScript数组每一项都可以保存任何类型的数据,而且数组的大小可以随着数据的添加自动的增长以容纳新数据。 ...

和Object一样,Array类型也是ECMAScript中最常用的类型了。

ECMAScript的数组虽然也是数据的有序列表,但还是与其他语言中的数组有很大的区别。比如ECMAScript数组每一项都可以保存任何类型的数据,而且数组的大小可以随着数据的添加自动的增长以容纳新数据。

1.创建数组

   创建数组的基本方式有两种:(1)通过构造函数 new Array();(2)通过数组字面量 var arr = [];

javascript中数组类型的属性和方法

 创建了数组后,可以使用方括号和基于0(从0开始)的数字索引读取和设置数组的值(如colors[0])。访问数组时,如果索引值小于数组长度,则返回对应项的值。设置数组的值时语法相同,但会替换对应位置的值。

数组的length属性,返回数组的长度,可以根据数组的length属性向数组追加值,如:arr[arr.length] = 123;

但如果索引值大于或等于数组长度,数组就会自动增加到该索引值加1的长度。如下所示:

1 var colors = ["red", "blue", "grey"];2 colors[9] = "green";3 alert(colors.length);         //10

 数组的冒泡排序:升序;

function ascending(arr){ for( i = 0; i < arr.length -1; i++ ){    var flog = true;    for( j = i; j < arr.length -1 -i ;j++){      if( arr[j] > arr[j+1] ){       flog = false;       var temp = arr[j];       arr[j] = arr[j+i];       arr[j+1] = temp;      }      };  if( flog ){   break;    };  }; }

  slice()方法同样不影响原本的数组。

3) splice()方法

  splice()方法可以说十分强大,可以对数组中的任意位置进行删除、插入和替换。

  删除:传入两个参数——要删除的第一项的位置、要删除的项数,如colors.splice(0,2)会删除数组的前两项。

  插入:传入3个以上参数——起始位置、0、要插入的任意数量的项。第二项固定为0,表示删除0项。如colors.splice(2,0,"red", "black")会在数组位置2开始插入字符串。

  替换:结合删除和插入功能,在被删除的项的位置插入新的项,就可以达到替换的效果,可接收3个以上参数——起始位置、要删除的项数、要插入的任意数量的项。

  见如下例子:

javascript中数组类型的属性和方法

 

8.位置方法

   ECMAScript5新增了indexOf()和lastIndexOf()两个位置方法,接收两个参数——要查找的项、查找起点位置的索引(可不选)。indexOf()从数组头部向后查找,lastIndexOf()则是从数组末尾向前查找,返回的都是要查找的项在数组中的位置(若未找到则返回-1)。

  需要注意的是,比较要查找的项和数组中的每一项时,会使用全等操作符(===),表示要查找的项必须严格相等(类型和值都一致)。

 

9.迭代方法

  ECMAScript5提供的5个迭代方法,都是接收两个参数——在数组每一项上运行的函数、运行该函数的作用域对象(可不选)。而作为参数的函数又可以接收三个参数——数组项的值、该项在数组中的位置、数组对象本身。

方法返回
every()参数函数对数组每一项都返回true,则返回true
filter()返回该参数函数返回true的项组成的数组
forEach()无返回值,只对数组每一项运行参数函数
map()返回每次参数函数调用的结果组成的数组
some()参数函数对数组有任何一项返回true,就返回true

  举一例:

javascript中数组类型的属性和方法

 

10.归并方法

   ECMAScript新增了reduce()和reduceRight()两个方法,用以归并数组。两个方法都接收两个参数——在数组每一项上调用的函数、作为归并基础的初始值。传入的函数又可以接收4个参数——前一个值、当前值、项的索引和数组对象,用以迭代数组所有的项。

  reduce()方法从数组第一项开始向后遍历,reduceRight()则是从相反方向遍历。见如下求和例子:

1 var numbers = [10, 2, 23, 15];2 var sum = numbers.reduce(function(pre, cur, index, array){3   return (pre + cur);4 });5 alert(sum);    //50

原标题:javascript中数组类型的属性和方法

关键词:JavaScript

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。