ECMAScript5新加的数组操作

ECMAScript5新加的数组操作:在IE8及以下不兼容。
通用模式为:arr.方法名(function (value(数组元素),index(数组下标),arr(函数本身)) {函数主体},参数二);
一般调用函数的三个参数,后两个可以省略,只传入数组元素参数即可。
参数二可以省略;如果有,则调用的函数被看作是参数二的方法。
--------------------------------------------------------------------------------------------------------
1,arr.forEach();
遍历
例如:
 ①var arr = [22,2,3,1,11];
   var s = 0;
   var arr1 = arr.forEach(function (v) {
  return s += v;
 });
 s的值39;
 arr的值是[22,2,3,1,11]
 ②var arr = [22,2,3,1,11];
   var arr1 = arr.forEach(function (v,i,a) {
  return a[i] = v + 1;
 });
   arr的值是[23,3,4,2,12]
--------------------------------------------------------------------------------------------------------
2,var i = arr.map();
调用数组的每一个元素传递给指定函数,并返回一个数组
例如:
 ①var arr = [22,2,3,1,11];
   var s = 0;
   var arr1 = arr.map(function (v) {
    return s += v;
 });
   返回值arr1为[22,24,27,28,39]
   s的值是39
   arr的值是[22,2,3,1,11]
--------------------------------------------------------------------------------------------------------
3,var arr1 = arr.filter();
  过滤
例如:
     var arr = [22,2,3,1,11];
     var arr1 = arr.filter(function (v) {
  return v > 3;
 });
 返回值arr1为[22,11]
 arr的值是[22,2,3,1,11]
--------------------------------------------------------------------------------------------------------
4,var arr1 = arr.every();
数组与门判断,所有数组元素都为true时,才返回true;当有一个返回false则返回false,且不在遍历下去
例如:
    ①var arr = [22,2,3,1,11];
     var arr1 = arr.filter(function (v) {
  return v > 3;
 });
 返回值arr1为false
 arr的值是[22,2,3,1,11]
    ②var arr = [22,2,3,1,11];
     var arr1 = arr.filter(function (v) {
  return v > 0;
 });
 返回值arr1为true
 arr的值是[22,2,3,1,11]
--------------------------------------------------------------------------------------------------------
5,var arr1 = arr.some();
数组或门判断,所有数组元素都为false时,才返回true;当有一个返回true则返回true,且不在遍历下去
例如:
    ①var arr = [22,2,3,1,11];
     var arr1 = arr.filter(function (v) {
  return v > 3;
 });
 返回值arr1为false
 arr的值是[22,2,3,1,11]
    ②var arr = [22,2,3,1,11];
     var arr1 = arr.filter(function (v) {
  return v > 0;
 });
 返回值arr1为true
 arr的值是[22,2,3,1,11]
--------------------------------------------------------------------------------------------------------
6,var arr1 = arr.indexOf(*,index);*为单一的任一值,从头至尾搜索
   var arr1 = arr.lastIndexOf(*,index);*为单一的任一值,从尾至头搜索
搜索特定的值,返回该值的下标位置,index值从此下标位置开始搜索。找不到返回值为-1;
 var arr = [22,2,2,2,1,11]
 var index = [];
 var i = 0;
 while(i < arr.length){
  i = arr.indexOf(2,i)
  if (i == -1) {
   break;
  }
  else {
   index.push(i);
  }
  i += 1;
 }
index的值为所有指定元素的下标值[1,2,3]
arr的值为[22,2,2,2,1,11]
--------------------------------------------------------------------------------------------------------
7,var arr1 = arr.reduce();
   var arr1 = arr.reduceRight();
使用指定函数将数组元素进行组合,生成单个值。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值