前言:
对于字符串、数组操作方法的掌握程度,在一定程度上反映着前端工程师的原生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"]
对象操作方法
方法:
- object[key] = value;
对象直接添加键值对,注意 object 必须提前声明为 {},或者原本就是一个对象。 - delete object.key;
根据键名直接删除对象,也可以是 delete object[key]。
应用:
var obj = {};
obj[123] = '456';
console.log(obj);
//返回{123:'456'}
obj[789] = '012';
console.log(obj);
//返回{123:'456', 789:'012'}
delete obj[789];
console.log(obj);
//返回{123:'456'}