数组详解"/>
js中的数组详解
属性length
数组的length属性可写可读,其他数据只具备可读
var arr = [1,2,3,4]; //读 alert(arr.length); //4 //写 arr.length = 2; alert(arr.length);//2
实例方法
push(arg) 添加到尾部
pop() 从尾部删除一个元素, 无参数
shift() 从头部删除一个元素,无参数
unshift(arg) 添加到头部
splice(起始位置,删除的长度,添加的内容,添加的内容,....) 从数组中删除一段元素
//删除 splice(起始位置,长度) 从数组中删除一段元素,包括起始位置 var arr1 = [1,2,3,4,5,6,7]; arr1.splice(2,3) alert(arr1); //[1,2,6,7];//插入 arr(起始位置,0,插入内容,插入内容,...) 在起始位置之前插入元素 var arr2 = [1,2,3,4,5,6,7]; arr2.splice(2,0,"a","b"); alert(arr2); //[1,2,a,b,3,4,5,6,7]//替换 arr(起始位置,删除长度,添加等长度内容) var arr3 = [1,2,3,4,5,6,7]; arr3.splice(2,3,"a","b","c"); alert(arr3); //[1,2,"a","b","c",6,7]
join(arg) 连接成字符串
silce(开始位置,结束位置) 截取数组,不包括结束位置
sort(空值/返回数字的函数) 排序
//数字排序 var arr = [1,21,12,34,56,43]; //arr.sort() //字母序排序,所有大写字母小于小写字母//默认情况,所有数据按照字符串处理 /* arr.sort(function(num1,num2){if(num1<num2){alert(-1); //num1<num2 -> -1/负数 -> num1靠左}else{alert(1); //num1<num2 -> -1/正数 -> num1靠右} }) alert(arr);//[1,12,21,34,43,56] *///简写如下: arr.sort(function(num1,num2){return num1-num2 })alert(arr);//[1,12,21,34,43,56]//拼音排序 var names = ["沈佳仪","张三","杜娥","刘家","阿杜"];//names.sort() 是按字符编码排序,按照ASCII对比排序,不能满足需求names.sort(function(str1,str2){return str1.localeCompare(str2); //按照当地习惯排序,由字符串本身决定 });alert(names);//[阿杜,杜娥,刘家,沈佳仪,张三]
reverse() 反转:无参数
concat(arr2) 数组连接,返回一个新的数组,不影响之前的数组
var arr1 = [1,2,3]; var arr2 = [4,5,6]; var arr3 = arr1.concat(arr2); alert(arr3);//[1,2,3,4,5,6]
toString()//数组复制: 利用concat返回的是新的一个数组,可以用于数组复制 var arr1 = [1,2,3]; var arr2 = arr1.concat([]); alert(arr1==arr2);//false 证明不是同一个数组
var arr5 = [5,6,7]; alert(arr5); //alert只能弹字符串,会强制把数据转换成字符串在弹出来//等效于 alert(arr5.toString());
扩展:
//扩展:函数的toString()function show(){alert("a");}alert(show); //把整个函数以字符串方式输出//屏蔽show.toString = function(){return '不可看'};alert(show); //不可看//扩展:数字的toString(arg), 可以有参数var num = 255;alert(num); //255 alert(num.toString()); //255 alert(num.toString(16));//ff 255转为16进制,再弹出alert("#"+num.toString(16));//#ff 好熟悉啊
更多推荐
js中的数组详解
发布评论