前言:
对于字符串、数组操作方法的掌握程度,在一定程度上反映着前端工程师的原生JavaScript水平。当然,也并不是说每一个方法都得熟练精通,对于初级阶段来说,重点应该先放在工作中常遇到的,使用频率高的,努力做到灵活运用,而要灵活运用也会结合一些算数对象的方法,所以就一起做个简要的总结。
算数(Math)对象方法:
方法:
-
Math.random();
生成0-1之间的随机数 -
Math.round();
四舍五入 -
Math.sqrt();
开平方根 -
Math.pow(a,b);
a的b次方 -
Math.abs();
绝对值 -
Math.ceil();
向上取整 -
Math.floor();
向下取整 -
Math.min.apply(null,n);
求数组n中的最小值 null可换为false
运用:
Math.round(Math.random()*(y-x)+x); //生成x-y之间的随机整数
数组操作方法:
方法:
-
Arr.push(a);
在数组Arr的最后添加参数a,返回新数组的长度 -
Arr.pop();
删除数组Arr的最后一个元素,返回被删掉元素的值
括号设置参数无效
若数组为空,返回undefined -
Arr.unshift(a);
在数组Arr的开头添加参数a,返回新数组的长度 -
Arr.shift();
删除数组Arr的第一个元素,返回被删掉元素的值
括号设置参数无效
若数组为空,返回undefined -
Arr.concat(a);
将参数a与数组Arr合成,返回一个新数组
而实际上 原数组不变 -
Arr.splice(a,b,c…);
在数组Arr中从下标为a的元素开始删除b个元素,并添加c…元素 -
Arr.reverse();
将数组Arr倒序排列,返回新数组 -
Arr.sort();
按照大小排列(默认以code码方式排序)
数字是逐个比较 例如2>199>1
返回已排序的新数组 -
Arr.slice(a,b);
截取数组Arr中下标a到b的元素(包括开始元素,不包括结束元素)
返回截取元素组成的新数组 -
Arr.jion();
将数组Arr转化为一个字符串
圆括号里面可以加 引号包裹的符号 作为分隔符
不加默认是 逗号 分隔
运用:
//正常大小排序
var Arr = [1,5,7,45,6,87];
var a = Arr.sort(function(a,b){
return(a-b); //这里是sort封装的一个方法 记住就好
});
//随机排序
var b = Arr.sort(function(){
return Math.random()-0.5;
});
字符串操作方法
方法:
-
Str.length;
字符串长度,只可读不可写 -
Str.charAt(a);
获取字符串中下标为a的元素
如果不在下标范围内 返回null -
Str.charCodeAt(a);
获取字符串中下标为a的元素的unicode编码(编码表)
如果不在下标范围内 返回null -
Str.fromCharCode(97,98,99);
接受一个或多个unicode编码,返回对应字符串 -
Str.indexOf(“a”,n);
从下标n(默认为0,可为负)开始从前往后检索首个字符a
a可以是任意字符(长度、搭配),只要Str内存在
返回a第一次出现的位置
若找不到 返回-1,常用判断 -
Str.lastIndexOf(“a”,n);
从下标n(默认为0,可为负)开始从后往前检索首个字符a
a可以是任意字符(长度、搭配),只要Str内存在
返回a最后一次出现的位置
若找不到 返回-1,常用判断 -
Str.substring(n,m);
截取下标n到m的字符(包括n,不包括m)
虽然有自动调节功能,但n、m最好不要设置负数
n负数默认为0
无m则截取n到最后
n-m范围错误,返回空null
最常用的一种字符串截取方法 -
Str.slice(n,m);
截取下标n到m的字符(包括n,不包括m)
没有自动调整功能 可以为负数
若为负数,则参数规定的是从字符串的尾部开始算起的位置
也就是说 -1 是指字符串的最后一个字符
n-m范围错误,返回空null -
Str.split();
将字符串Str分割成字符串数组
参数表示分割的位置,从哪开始分割,并且参数充当分隔符 则不显示
参数若不存在字符串为一体,转换为数组显示
若是双引号,则独个分开为字符串显示 -
Str.toUpperCase(); 转化为大写
Str.toLowerCase(); 转化为小写
应用:
var str="Hello world!"
console.log(str.split(" ") + "<br />")
//返回["Hello","world!"]
document.write(str.split("") + "<br />")
//返回["H","e","l","l","o"," ","w","o","r","l","d","!"]
document.write(str.split(" ",1))
//返回["Hello"]