数组操作方法(包括es5)

  1 //push();
  2 定义:可以可向数组的末尾添加一个或更多元素,并返回新的长度。
  3 方法:push();
  4 语法:数组.push(新元素1,新元素2,....,新元素x)
  5 返回值:把指定的值添加到数组后的新长度。
  6 原数组:已经改变。
  7 
  8 //pop();
  9 定义:用于删除并返回数组的最后一个元素。
 10 语法:数组.pop();
 11 返回值:数组的最后一个元素。
 12 说明:pop()方法将删除数组的最后一个元素,把数组的长度减1,并且返回它删除的元素的值。如果数组已经为空,则数组不改变原数组,并返回undefined。
 13 原数组:已经改变。
 14 
 15 //shift();
 16 定义:用于把数组的第一个元素删除,并返回这个元素。
 17 语法:数组.shift()
 18 返回值: 数组原理的第一个元素的值。
 19 说明:如果数组是空的,那么shift方法将不进行任何操作,并返回undefined。请注意该方法不创建新数组,而是修改原来的数组。
 20 原数组:已经改变。
 21 
 22 //unshift;
 23 定义:可向数组的开头添加一个或者多个元素,并返回新的长度。
 24 语法:数组.unshift(新元素1,新元素2,....,新元素x)
 25 返回值:数组的新长度。
 26 说明:unshift()方法将它们的参数插入数组的头部。请注意,unshift()方法不创建新的数组,而是修改原来的数组。
 27 原数组:已经改变。
 28 
 29 //sort();
 30 定义:用来给数组排序。
 31 语法:数组.sort(排序规则的函数);
 32 返回值:对数组的引用,请注意,数组在原数组上进行排序,不生产副本。
 33 说明:如果调用该方法时没有使用参数,将按字母顺序对数组中的元素进行排序,说的更加准备点,是按照字符编码的顺序进行排序。
 34         如果想按照其他标准进行排序,就需要提供比较函数,该函数要比较2个位,然后返回一个用于说明这两个值得相对顺序的数字,比较函数应该具有两个参数a和b,若a大于b,则从小到大排序,否则从大到小排序。
 35 原数组:已经改变。
 36 
 37 //ES5中新增的数组操作方法:
 38 //indexOf();//里面有两个参数 第一个是要查询的内容,第二个是查询的起点下标。
 39 定义:可以返回指定的元素在数组中首次出现的位置的(下标)。
 40 语法:var arr = [2,4,6,7];
 41     arr.indexOf(4);    // 1
 42     arr.indexOf(3);    // -1
 43 返回值:返回查询内容的下标,如果查询不到返回一个-1 44 原数组:未发生改变。
 45 
 46 //lastIndexOf();
 47 定义:从尾部可以返回指定的元素在数组中首次出现的位置的(下标)。
 48 语法:var arr = [2,4,6,7];
 49     arr.lastIndexOf(4);    // 1
 50     arr.lastIindexOf(3);    // -1
 51 返回值:返回查询内容的下标,如果查询不到返回一个-1 52 原数组:未发生改变。
 53 
 54 forEach(): //参数有value,index,arr
 55 定义:对数组中的每一项运行给定函数,作用是对数组进行遍历、循环。
 56 语法:var arr = [3, 5, 8];
 57     var col = arr.forEach(function(value, index){
 58         //console.log( value, index, col );
 59         arr[index] = value*1.3;
 60     });
 61     console.log(arr);
 62     console.log(col);   // undefined
 63     // forEach只做循环,本身没有返回值
 64 返回值:没有返回值。
 65 原数组:不改变,产生一个新数组。
 66 
 67 //map();映射
 68 定义:映射
 69 语法:map()遍历—>操作—>返回
 70         var arr = [1,2,3,4,5];
 71     var newarr = arr.map(function(item, index, array){
 72         return item+2;    // 处理
 73     })
 74     console.log( arr );        // [1, 2, 3, 4, 5]
 75     console.log( newarr );    // [3, 4, 5, 6, 7]
 76 
 77 返回值:一个新的数组。
 78 原数组:未改变,产生一个新的数组。
 79 
 80 //every()每一个;
 81 定义:数组中的元素,每一项都返回真,最终的结果就为真。
 82 语法:var arr = [1, 2, 3, 4, 5];
 83     var b = arr.every(function(item){
 84         return item > 3;
 85     });
 86     console.log( arr );    // [1, 2, 3, 4, 5]
 87     console.log( b );    // false
 88 返回值:根据条件返回一个布尔值。true或者false。
 89 原数组:未改变。
 90 //some一些;
 91 定义:数组中的元素,只要有一项返回真,最终的结果就为真。
 92 语法:some() 某些
 93     数组中的元素,只要有一项返回真,最终的结果就为真。
 94 
 95     var arr = ["yt","hr","wc","jk"];
 96     var b = arr.some(function(item){
 97         //判断数组中是否存在yt?
 98         return item=="yt";    
 99     })
100     console.log( arr );    // ["yt","hr","wc","jk"]
101     console.log( b );    // true
102 返回值:根据条件返回一个布尔值。
103 原数组:未改变。
104 
105 //filter()过滤;
106 定义:符合返回值得都将被筛选出。
107 语法:var arr = [88,69,92,77,90,96,98,99];
108     var newarr = arr.filter(function(item, index, array){
109         return item>80;    //找出所有大于80的元素
110     });
111     console.log( arr );        // [88, 69, 92, 77, 90, 96, 98, 99]
112     console.log( newarr );    // [88, 92, 90, 96, 98, 99]
113 返回值:返回一个经过过滤的新数组。
114 原数组:未改变,产生一个新数组。
115 
116 //reduce()归并;
117 定义:对数组循环每一次循环时,取两个相邻元素。
118 语法:var arr = [1,2,3,4];    // reduce 对数组的循环(每一次循环时,取两个相邻元素)
119     var num = arr.reduce(function(pre, next, index, array){
120         //第一次时,pre指下标0的元素;之后,pre指 return 的值
121         console.log( ‘pre:’+pre ); 
122         console.log( 'next:'+next );
123         console.log( 'index:'+index );    
124         console.log( 'array:'+array );    
125         return pre+next;    // 处理
126     })
127     console.log( arr );     // [1,2,3,4]
128     console.log( num );  // 10    
129 返回值:返回数组内的和或者其他。
130 原数组:未发生改变。
原文地址:https://www.cnblogs.com/l8l8/p/8748146.html