1、常用数组操作的方法:
Array.concat() 连接数组
Array.push() 尾部添加
Array.pop() 尾部删除
Array.unshift() 头部添加
Array.shift() 头部删除
Array.splice(index,many,item1,…,itemX) 插入、删除或替换数组的元素 当不带item1..时是删除,带item时是替换或者插入取决于many的取值
Array.slice(start,end) 返回数组的一部分
Array.join() 将数组元素连接起来以构建一个字符串
Array.indexOf(x)查找数组中是否有元素x,没有返回-1,有返回下标
Array.sort() 对数组进行排序
[0,-1,3,10,7].sort((a,b)=>a-b) //正序排列->从小到大
[0,-1,3,10,7].sort((a,b)=>b-a) //逆序排列->从大到小
Array.some() 检测数组中是否有元素满足指定条件
var ages = [3, 10, 18, 20];
function checkAdult(age) {
return age >= 18;
}
ages.some(checkAdult); //返回true
//如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
//如果没有满足条件的元素,则返回false。
Array.every() 检测数组中的元素是否都满足指定条件
array.every(function(item,index,array){
//item:当前元素的值;
//index:当前元素的索引;
// array:当前元素的数组对象;
})
//如果所有元素都满足条件,则返回true;
//如果数组中检测到有一个元素不满足,则整个表达式返回false,且剩余的元素不会再进行检测。
2、常用字符串处理方法
concat:
将两个或多个字符的文本组合起来,返回一个新的字符串。
var a = "hello";
var b = ",world";
var c = a.concat(b);
alert(c);
//c = "hello,world"
substring:
返回字符串的一个子串,传入参数是起始位置和结束位置。
var a = "hello";
var sub_string1 = a.substring(1);
//sub_string1 = "ello"
var sub_string2 = a.substring(1,4); //从索引1开始到4(不包括4)
//sub_string2 = "ell"
substr:
可在字符串中抽取从 start 下标开始的指定数目的字符。
substr(start,length)
/*start:起始下标。如果是负数,那么从字符串的尾部开始算起的位置。即-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。
length: 可选。子串中的字符数。必须是数值。*/
var a = 'hello';
var substr1 = a.substr(0,2) //"he"
var substr2 = a.substr(1) //"ello"
var substr3 = a.substr(-3,2) //"o" 从倒数第三个开始切,取两个字符
slice:
提取字符串的一部分,并返回一个新字符串(与 substring 相同,唯一区别是slice可以传负数,而substring不行)。
var a = "hello";
var slice1= a.slice(1);
//slice1= "ello"
var slice2= a.slice(1,4);
//slice2= "ell"
var slice3 = a.slice(-3,-1);
//slice3 = "ll" 倒数第三个到倒数第一个(不含)
split:
用传入的字符划分字符串,得到一个数组(不会改变原字符串)
var a = "hello";
var arr1 = a.split("");
//arr1 = [h,e,l,l,o]
replace:
替换字符串中的某些字符,默认只替换第一个出现的字符(不会改变原来的字符串,会返回一个新的字符串)
'abcad'.replace('a','m') //'mbcad'
'abcad'.replace(/a/g,'m') //'mbcmd' 希望全局替换则需要添加/g全局匹配修饰符
includes:
判断字符串中是否有(数组同样有这个方法)
let url1 = "git://abcd.com";
url1.includes('.co')//true
注:splice、slice、substring、substr四个函数的区别
①splice() :数组 (会影响原数组,其他三个不会)
向数组(只有数组有这个方法)中添加/删除项目,然后返回被删除的项目。该方法会改变原始数组。(index可以传负数,当howmany为0时,就向指定的index后面添加元素)
splice(index,howmany,item1,.....,itemX) (index、howmany必须)
②slice():数组、字符串
数组、字符串都能用,可以传负数,slice(start,end)
③substring():字符串
只有字符串能用,不能传负数,substring(start,end)
④substr():字符串
只有字符串能用,可以传负数,substr(start,length)
综上:slice是最适用的方法,基本包含了其他几个方法的优点
3、最后补充两个正则判断:
手机号格式判断
String.prototype.isMobile = function(){
return /^0{0,1}13[0-9]{9}$/.test(this);
}
邮件格式判断
String.prototype.isEmail = function(){
return /^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/.test(this);
}
身份证格式判断
isCardNo(card) {
var pattern = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
return pattern.test(card);
},