数组有关的知识点
1:数组的length属性是可读写的 可通过设置length长度来移除或添加新的新项
2:检测数组方法
1)instanceof常常用来判断某个变量是否属于某个对象的实例
eg:var a=new Array();
alert(a instanceof Array);//true
但instanceof的问题在于是对于一个网页或一个全局作用域而言会好用,但是当网页中存在两个以上的全局作用域,就会存在两个不同版本的Array构造函数,从一个框架向另一个框架传入数组,那传入的数组会与第二个框架的数组存在两个不同的构造函数,解决办法:
2)Array.isArray()//这个方法的最终目的的确定某个值到底是不是数组,而不管在哪个全局执行环境中创建的
3.转换方法:
toLocalString()//创建一个数组值得以逗号分隔的字符串
toSring() //返回由数组中每个值得字符串形式拼接而成的一个以逗号分隔的字符串
valueof() //返回的是数组
join()// 数组—>字符串 只接收一个参数,通过不同的分隔符来构建新的字符串,默认情况以逗号分隔
4.数组的增删改方法:
1)push()//在数组末尾添加 返回修改后数组的长度
2)pop()//在数组末尾删除 返回移除的项
3)shift()//在数组头部删除 返回移除的项
4)unshift()//在数组头部添加 返回新数组的长度
5.数组的重排序方法(二者返回的都是经过排序之后的数组)
1)sort()
eg:var values=[0,2,13,13,45,5,50];
a)从小到大排序
values.sort(funtction(num1,num2){
return num1-num2;
});
b)从大到小排序
values.sort(funtction(num1,num2){
return num2-num1;
});
2)reverse()//反转数组原来的顺序
6.数组的操作方法
1)concat()// 将接受的参数添加到原来数组的副本中,并返回新的数组。
2)slice()//选取原数组中一个或对个项组成新数组,当接收一个参数时,返回从指定位置到末尾项,当有两个参数时,返回返回起始位到末尾的项,但不包括末尾项,若参数是负数,则用数组长度加上参数来确定位置。
3)splice()//增,删,改方法
增:提供三个参数,第一个:起始位,第二个:删除的项(0),第三个:插入的项
删:提供两个参数,第一个:删除的起始位,第二个:删除的项
改(替换):提供三个参数,第一个:起始位,第二个:要删除的项,第三个:要要插入的项(删除项不必与替换项数量相等)
7.数组的位置方法
1)indexof()//接收两个参数,第一个:要查找的项,第二个:查找的起始位(可选),没有从数组的开头开始 若找到则返回的是查找项在数组中的位置,没有找到则返回-1;
2)lastIndexof() //从数组的末尾开始查找