数组常用的方法
push
作用:向数组末尾增加某一项
参数:添加的具体项,可以是一项,也可以是多项
返回值:新数组的长度
是否改变原数组:改变
var ary = [1,2,3];
var res = ary.push(4);
console.log(ary); .. [1,2.3.4]
unshift
作用:向数组的开头增加某一项
参数:添加的具体项,可以是一项,也可以是多项
返回值:新数组的长度
是否改变原数组:改变pop
作用:删除数组中的最后一项
参数:无
返回值:删除的那一项数组的数值
是否改变原数组:改变shift
作用:删除数组中的第一项
参数:无
返回值:删除的数组的数值
是否改变原数组:改变splice
作用:指定删除数组中的某几项,并可替换新的项
参数:(n,m,x)
- n: 指定从索引 n 开始
- m: 删除 m 个项
- x: 用 x 替换掉被删除的项 (也可不写)
返回值:返回的是一个数组,存放的是被删除掉的某几个项
是否改变原数组:改变
拓展方法:
删除:指定删除某几项内容,不写x值。就不替换只删除
新增:把x值写成要增加的项,m值是0删除0项,就可增加在n值的指定索引处
-
slice
作用:查找出指定的内容,组成一个新数组
参数:
- n: 从索引开始(包含起始索引)
- m: 截止到哪一个索引(不包含截止索引)
返回值:返回值是一个复制查询到的新数组
是否改变原数组:不改变 - 完全复制一个新数组
ary.slice(0)
ary.slice()
concat
作用:拼接数组
参数:数值或则是数组
返回值:返回拼接之后的新数组
是否改变原数组:不改变
ary=[1, 2, 3, 4]
ary1=[1, 2]
var ary2 = ary.concat(ary1)
ary2=[1, 2, 3, 4, 1, 2]
toString
作用:可以把一个逻辑值转换为字符串
参数:无
返回值:返回值是转换后的字符串
是否改变原数组:不改变
var ary1=[1,2,3];
var res=ary1.toString(); // "1,2,3"
join
作用:替换数组的多项连接符,替换后连接成字符串
参数:连接符
返回值:返回值是替换连接符后的字符串形式
是否改变原数组:不改变
-
eval
(),可以计算成立的算法等式,如字符串数据替换成 + 号连接符进行计算
reverse
颠倒数组
作用:把数组倒过来排序
参数:无
返回值:返回值是倒排序后的新数组
是否改变原数组:改变sort
大小排序
作用:给数组进行排序
参数:无/函数
返回值:返回值是排序后的新数组
是否改变原数组:改变
[参数是无],如果sort
没有写参数的话,只能准确排序10以下或者相同位数的数值
[参数是函数]:
return a-b 升序
return b-a 倒数
var ary = [1,22,4,3,55,7,6];
ary.sort(function(a,b){
//return a-b; //升序 由小到大排序
return b-a; //倒序 由大到小排序
});
console.log(ary);
indexOf
/lastIndexOf
作用:获取某项在数组中首次出现/最后出现的 索引(也可以用来是否包含某项)
参数:(n,m)
参数:
- n : 检测的项
- m : 如果是
indexOf
的话,就是从索引m开始检索。如果是lastIndexOf
的话,就是从索引m停止检索
返回值:-1或者具体的索引值, -1就是找不到指定的值
是否改变原数组:不改变
var ary=[1,2,3,4,1,55,1];
//检测1这个项目在数组ary 中首次出现的位置
ary.indexOf(1); //0
//从索引2开始,检测1这个项目在数组中首次出现的位置
ary.indexOf(1,2); //4
// 检测1这个项目在数组中最后一次出现的索引
ary.lastIndexOf(1);
// 检测1这个项目在数组中最后出现的索引,在索引5的位置停止检测
ary.lastIndexOf(1,5)
//如果此项在数组中没有出现,返回值就是-1
ary.indexOf(66)===>-1
includes
作用:检测数组中是否包含某一项
参数:指定检测的具体项
返回值:布尔值ture
就是包含,不包含就是false
是否修改原数组:不修改forEach
遍历数组
作用:遍历数组的每一项和索引值
参数:函数, 函数两个形参,item和index
返回值:undefined
是否修改原数组:不修改
var ary = [11,12,13,14,15];
var res = ary.forEach(function(item,index){
// 遍历数组的每一项值和各项所对应的索引值
console.log(item,index); //
// 即使写return,返回值也是undefined
});
map
映射遍历
作用:把一个数组可以映射成一个新的数组
参数:函数
返回值:映射后的新数组
是否修改原数组:否
var ary = [11,12,13,14,15];
var res = ary.map(function(item,index){
// 遍历数组的每一项值和各项所对应的索引值
console.log(item,index); //
return item;
});
- 关于map的返回值
var ary = [11,12,13,14,15];
var res = ary.map(function(item,index){
return item+1;
});
遍历到的每一项值都会自身加1,然后返回出去