JavaScript中Array数组的方法
查找: indexOf、lastIndexOf
迭代:every、filter、forEach、map、somereduce、reduceRight
用法:
1 /*
2 1 查找方法:
3 * arr.indexOf( value )
4 * 一个参数 返回value所在数组的位置下标
5 * 找不到的时候返回-1
6 *
7 * arr.indexOf( start , value )
8 * 从start开始查找value 返回下标
9 * 找不到的时候返回-1
10 *
11 * arr.lastIndexOf( value )
12 * 从后往前找 返回下标
13 *
14 *
15 *
16 *2 迭代方法:
17 * arr.every(function(item , index , arr){
18 * return item > 2; //如果每一项都大于2 就返回true 否则false
19 * })
20 * 传入函数 对每一项进行执行函数,
21 * 如果每一项都返回true 最后才返回true
22 * 如果有一个返回false 最后就返回发false
23 *
24 * arr.filter( function( item , index , arr ){
25 * return item > 2; //把大于2的数组元素返回
26 * } )
27 * 传入一个函数对每一个元素执行
28 * 结果是真的元素就返回
29 *
30 * arr.forEach(function(item , index , arr){
31 * alert(item)
32 * })
33 * 提供一个循环方法
34 * 每一个元素都执行一下function
35 *
36 * arr.map(function(item , index , arr){
37 * return item * 2 ;
38 * })
39 * 对arr每一项都执行函数 然后返回执行结果
40 *
41 *
42 * arr.some(function(item,index,arr){
43 *
44 * retrn item > 2;
45 * })
46 * 对arr中每个元素进行判断,
47 * 有一个返回true 则最后返回true
48 * 如果全都是false 最后返回false
49 *
50 *
51 *
52 * arr.reduce( function(prev , cur , index , array){
53 * // 钱一个值 当前值 索引位置 数组
54 * return prev + cur;
55 * })
56 * 对数组中每个元素进行相加最后返回
57 *
58 *
59 *
60 * arr.reduceRight( )
61 * 对数组从右侧向左进行执行 返回最后的结果
62 *
63 *
64 *
65 *
66 *
67 *
68 *
69 *
70 * */
添加:push、pop、shift、unshift
截取splice、slice
操作:concat、join、reverse、sort
用法:
1 // 数组的创建方式
2 // 1 不推荐
3 // var arr = new Array();
4 //2 推荐 js种数组内部数据类型可以不一样
5 var arr = [1,2,3,4,true,"abc",new Date() ];
6 //alert(arr.length);
7 //js中的数组可以随意改变长度 元素类型任意
8 arr.length = 5;
9 alert(arr);
10
11 /*
12 *数组的常用方法
13 * 1 数组添加 删除元素
14 * result = arr.push(value1,value2,value3,....) 向数组添加元素 返回值 新数组的长度
15 * result = arr.pop() 返回数组尾部的元素并移除
16 *
17 * result = arr.shift() 从头部移除一个元素 并把头部元素返回
18 * result = arr.unshift(a,b,c,d,e....) 从头部插入一些元素 返回新数组长度
19 *
20 * 2 数组截取
21 * arr.splice(1,2,3,4,5)
22 * 数组的截取方法: 改变数组本身
23 * 第一个参数表示 起始位置
24 * 第二个参数表示 要截取的个数
25 * 第三个参数之后作为一个子数组会从截取的位置插入数组
26 * arr.splice(1) 1后面元素全都截掉
27 * arr.splice(1,2) 从1号下标元素开始 删去两个元素
28 *
29 *
30 * result = arr.slice(2,3)
31 * 截取操作 第一个参数是截取的起点,第二个参数是end 左闭右开的截取
32 * 将截取的结果返回 不 改变数组本身
33 *
34 *
35 * 3 数组操作方法
36 *
37 * result = arr1.concat(arr2)
38 * 将arr1和arr2进行拼接返回
39 * 不改变数组本身
40 *
41 * result = arr.join("-")
42 * 在每个元素之间添加一个 - 符号 并返回
43 *
44 * arr.reverse() 反转数组顺序
45 * 改变数组本身
46 *
47 * arr.sort() 正序排序
48 * 但是把每一个值按照字符串 一个字节一个字节比较
49 * 比如10和4比较,会觉得1比4小 10会排在前面
50 * 改变数组本身
51 * 如果想正确的排序 需要自己写一个方法传入sort()
52 * 例如
53 * function compare(value1 , value2){
54 * if(value1 < value2){
55 * return -1;
56 * }else if(value1 > value2){
57 * return 1;
58 * }else{
59 * return 0;
60 * }
61 * }
62 * 然后再调用 arr.sort(compare)
63 * 这样就能按照我们想要的正常的正序进行排序了
64 *
65 * */