数组中常用的方法
增加、删除、替换
1)push:向数组末尾增加内容
参数(要增加的内容)
返回值:数组的长度
原数组改变
2)pop:删除数组中最后一项
参数:无
返回值:被删除的那一项
原数组改变
3)shift():删除数组中的第一项
返回值:删除的那一项
原数组改变
4)unshift():向数组中最开始的位置添加内容
参数:增加的内容
返回值:新数组的长度
原数组改变
5)splice(n,m):删除 从索引n开始删除m个,返回值:被删除的每一项以一个新数组返回,原数组改变
splice(n,m,x):替换 从索引n开始删除m个,用x替换删除的内容,原数组改变
splice(n,0,x):增加,在索引n前面增加一项,返回值是一个空数组,原数组改变
splice(0):克隆 把原来的数组克隆了一份一模一样的 原数组改变
splice(n):从索引n开始,删除到最末尾的位置
截取,拼接
1)slice(n,m) 从索引n开始找到索引为m处(不包含m),将找到的内容以一个新数组返回,原数组不变
slice(n) 从索引n开始到末尾的位置,将找到的内容以一个新数组返回,原数组不变
slice(0) 、slice() 克隆一份一模一样的
克隆:slice(0) 、slice()、splice(0) ary1.concat()
2)concat():数组拼接,将ary2拼接到ary1的后面,返回一个新数组
将数组转为字符串
1)toString() 把数组转化为字符串,原样转化,原数组不变
var res = ary1.join('+');
console.log(res,ary1);//"1,2,3"
2)join:按照每一个分隔符,把数组中的每一项拼接成一个字符串,原来的数组不变
join('') 以字符串的形式返回
join('+') 每一项之间以+隔开
计算 eval
var ary1 = [10,2,3];
var a = eval(ary1.join('-'));
排序 原数组都改变
从小到大的顺序
ary.sort(function(a,b){
return a-b;
});
从大到小的顺序
ary.sort(function(a,b){
return b-a;
});
倒序
var ary = [1,2,3,4,5,9,6,3];
ary.reverse(); 原数组改变
不兼容的方法(不兼容iE6~iE8)
1)indexOf() 在数组中第一次出现的索引,返回值是对应的索引
2)lastIndexOf() 数组中最后一次出现的索引
如果没有这一项 返回-1
3)forEach 不能改变每一项的值 没有返回值
var ary = [1,2,3,4,5,9,6,3];
var a = ary.forEach(function(item,index){
console.log(item,index);
item 数组中每一项的值
index 每一项的索引
return item;
});
4)map:改变每一项的值 可以输出返回值
var res = ary.map(function(item,index){
console.log(item*10,index);
item 数组中每一项的值
index 每一项的索引
return item;
})
console.log(res);
字符串中常用的方法
1)charAt(索引):获取指定索引位置的字符
2)charCodeAt(索引) 获取指定索引位置的字符的ASCII码
截取 原来的字符串不变
3)substr(n,m) 从索引n开始 截取m个字符
4)substring(n,m) 从索引n开始截取到索引为m处 不包括m
5)slice(n,m) 从索引n开始截取到索引为m处 不包括m 支持负数
以上三个方法都可以只传递一个参数,代表 slice(n) 从索引n开始截取到最末尾的位置
6)indexOf() 字符第一次出现的索引,如果不存在,返回-1 兼容所有浏览器
7)lastIndexOf() 字符最后一次出现的索引 兼容所有浏览器
8)toUpperCase 转为大写
9)toLowerCase 转为小写
10)替换 replace(旧的,新的) 原来的字符串不变
11)trim();去空格
11)split 按照指定的字符将字符串拆分成数组
var str = '1+2+3+4';
console.log(str.split(' '));//拆分成一项
console.log(str.split(''));//每一个字符进行拆分
console.log(str.split('+'));//
Math.min(1,2,3) 取最小值
Math.max(1,2,3) 取最大值
Math.abs(-10); 取绝对值
Math.floor(); 向下取整
Math.ceil() 向上取整
Math.round() 四舍五入
Math.random() 取[0,1)之间的随机数 不包括1
获取[n,m]之间的随机整数
Math.round(Math.random()*(m-n)+n)