JavaScript 数组方法
push:向数组的末尾增加一项 返回值是数组的新长度
unshift:向数组开头增加一项 返回值是数组的新长度
pop:删除数组的末尾项 返回值是删除的数组项
shift:删除数组开头项 返回被删除的开头项目
splice:删除数组中的任意项 返回值是被删除的数组项
slice:复制数组 返回值是复制到的新数组 写上数值之后 不包含被复制的最后一项
toString():把数组转换成字符串
拼接:
concat:把一个数组和另一个数组拼接在一起 返回拼接好的数组
join:把数组中的每一项 按照指定的分隔符拼接成字符串
delete: 删除数组的某一项
排序:
reverse:倒序数组 返回值倒序数组 原有数组改变
sort:根据匿名函数进行冒泡排序 b-a倒序 a-b升序
兼容性不好:
indexOf:返回获取项在数组中的索引
$.inArray:JQ方法和indexOf差不多
lastIndexOf:返回获取项在数组中出现的最后一次索引
forEach: 循环遍历数组 参数是一个匿名函数 默认返回为undefined
for / for in:循环遍历数组
map:循环遍历数组 参数是一个匿名函数
1 var arr = [8,2,3,4,6]; 2 3 //push:向数组的末尾增加一项 返回值是数组的新长度; 4 var len = arr.push(1); 5 alert(arr); //[8,2,3,4,6,1] 6 alert(len); //6 7 8 9 10 //unshift:向数组开头增加一项 返回值是数组的新长度 11 var len = arr.unshift(5); 12 alert(arr); //[5,8,2,3,4,6] 13 alert(len); //6 14 15 16 //pop:删除数组的末尾项 返回值是删除的数组项 17 var num = arr.pop(); //不需要参数 18 alert(arr); //[8,2,3,4] 19 alert(num); //6 //末尾项的数值 20 21 22 //shift:删除数组开头项 返回被删除的开头项目 23 var num = arr.shift(); 24 alert(arr); //[2,3,4,6] 25 alert(num); //8 26 27 28 //splice:删除数组中的任意项 返回值是被删除的数组项 29 var num = arr.splice(2,1); //删除索引为2的,删除1个。 splice(index,len); //如果len是数组的长度就代表清空数组 30 alert(arr); // [8,2,4,6] 31 alert(num); //3 32 33 34 //slice:复制数组 返回值是复制到的新数组 写上数值之后 不包含被复制的最后一项 35 var newArr =[]; 36 var newArr = arr.slice(1,3); //索引为1开始,复制到3(不包括3)返回值是一个新的数组 37 alert(newArr); 38 39 //拼接:concat:把一个数组和另一个数组拼接在一起 返回拼接好的数组 40 var arrOther = [10,15,20,25,16]; 41 var newArr = []; 42 newArr = arr.concat(arrOther); //久的数组加上新的数组 43 //newArr = arr + arrOther; //直接用+号也可以 44 alert(newArr); //[8,2,3,4,6,10,15,20,25,16]; 45 46 //join:把数组中的每一项 按照指定的分隔符拼接成字符串 47 var str = arr.join("|"); //按照参数里面的连接起来, 不包括最后一项,只有中间项 48 alert(str) //"8|2|3|4|6" 49 50 //排序:reverse:倒序数组 返回值倒序数组 原有数组改变 51 var newArr = arr.reverse(); //数组倒叙 数值和原数组都倒叙 52 alert(newArr); //[6,4,3,2,8] 53 alert(arr); //[6,4,3,2,8] 54 55 //sort:根据匿名函数进行冒泡排序 b-a倒序 a-b升序 56 var newArr = arr.sort(function (a,b) { 57 return a-b;//升序 58 }); 59 alert(newArr); //[2,3,4,6,8] 60 alert(arr); //[2,3,4,6,8] 61 62 63 var newArr = arr.sort(function (a,b) { 64 return b-a;//降序 65 }); 66 alert(newArr); //[2,3,4,6,8] 67 alert(arr); //[2,3,4,6,8] 68 69 var newArr = arr.sort(function (a,b) { 70 return Math.random()-1;//降序 71 }); 72 alert(newArr); //[2,3,4,6,8] 73 alert(arr); //[2,3,4,6,8] 74 75 //indexOf:返回获取项在数组中的索引 //lastIndexOf:返回获取项在数组中出现的最后一次索引 76 //var num = arr.indexOf(2);//返回索引值, indexOf(element,开始索引); //从开始索引开始找,默认开始索引为0,如果找不到返回-1 77 var num = arr.lastIndexOf(2);//返回索引值, lastIndexOf(element,开始索引); //从结束位置开始找,开始索引默认为数组长度-1, 如果找不到返回-1 78 alert(num);//1 79 80 //forEach: 循环遍历数组 参数是一个匿名函数 默认返回为undefined 81 var obj = arr.forEach(function (element,index,arrNew) { 82 console.log(this); //如果没有第二个参数,this代表window, 如果有第二个参数,this代表第二个参数obj 83 alert(element) //function第一个参数是遍历数组的当前元素 84 alert(index) //function的第二个参数是遍历数组的索引值 85 alert(arrNew) //function的第三个参数是遍历数组 86 },arr) 87 alert(obj) //undefind 88 89 //map:循环遍历数组 参数是一个匿名函数 和ForEach 用法一样 90 var obj = arr.map(function (element,index,arrNew) { 91 console.log(this); //如果没有第二个参数,this代表window, 如果有第二个参数,this代表第二个参数obj 92 alert(element) //function第一个参数是遍历数组的当前元素 93 alert(index) //function的第二个参数是遍历数组的索引值 94 alert(arrNew) //function的第三个参数是遍历数组 95 },arr) 96 console.log(obj) //['undefind','undefind','undefind','undefind','undefind']; 97 98 //常用的循环遍历方法 for for in 99 for (var i = 0; i < arr.length; i++) { 100 console.log(arr[i]);//循环遍历数组 101 } 102 103 for (var i in arr) { 104 console.log(i); //输出索引值 105 console.log(arr[i]); //输出索引值对应的值 106 } 107 108 //JQ里面$.inArray和原生的indexOf用法一致 109 var index = $.inArray(2,arr,1); //如果找到了元素的值就返回元素所在的索引, 如果没有找到就返回-1 //$.inArray(element,要查找的数组,数组开始的索引) 110 console.log(index); 111 //toString()方法 112 console.log(arr.toString());//"8,2,3,4,6"
//delete 删除数组的某一项
var int = delete arr[1]; //
console.log(int); //true
console.log(arr); //删除后的数组 [8,3,4,6]
浙公网安备 33010602011771号