js常用方法及正则

js常用方法

数组方法

数组

// 创建:
	let arr1 = new Array(); // 动态
	let arr2 = ['html','css','js'] // 静态
    let arr3 = ['tom','jerry','philips'];
// 访问:
	arr1[index] // index 索引
// 合并
	arr1.concat(arr2) // 合并两个数组
    arr1.concat(arr2,arr3) // 合并三个数组
// 转变字符串
	arr1.join(',') // 默认,分割
// 添加、删除最后一个
	arr3.push('joey') // 尾位添加
    arr3.pop() // 尾位删除
// 反转
	arr3.reverse() // 数组反装
// 添加、删除第一个
	arr3.unshfit('Jessa'); // 首位添加
    arr3.shift() // 首位删除
// 排序(字母、数字 )升序
	arr3.sort() // 数组升序
// 添加、删除元素
	arr3.splice(1,1,'Ruby','Jane') // 指定位置添加 
    arr3.splice(1,1) // 指定位置删除
// 选择元素(截取)
	arr3.slice(1,3) // 截取1到2位元素
// 数组高级函数
	// find:遍历筛选,有返回值,返回符合元素中断循环
	arr3.find((item, index, arr) => { if (item === 'philips') return item; });
	// forEach,遍历无返回值,不支持break,continue
	arr3.forEach((item, index, arr) => { console.log('当前项:', item, ',当前索引:', index, ',数组:', arr); });
	// map:遍历筛选,有返回值,返回所有符合元素,不支持break,continue
	arr3.map((item, index, arr) => {  ['tom', 'jerry'].includes(item)) return item; })
	// filter,遍历数组,有返回值,返回符合值数组
	arr3.filter((item, index, arr) => { if (index === 1) return item; })
	// every,遍历筛选,不符合返回状态中断
	arr3.every((item, index, arr) => { return item != 'tom'; });
	// some,遍历筛选,存在符合返回状态中断
	arr3.some((item, index, arr) => { return item === 'tom'; });
	// reduce,遍历数组,数组叠加操作(拼接字符串)
	arr3.reduce((total, preVal, preIndex) => { return total + preVal; }, 0)

字符串方法

字符串

 // 字符串创建:
 	let str = "tom";
 // 字符串长度:
 	str.length // 获取字符串长度
// 字符串大\小写:
  	str.toUpperCase / tolocaleUpperCase	
  	str.toLowerCase / tolocaleLowerCase 
// 字符串拼接:
 	str.concat(' and jerry'); // 拼接字符串
 // 索引字符串位置:
    str.indexOf('s') // 第一次出现  -1不存在 0标识第一位
 // 返回指索引字符:
 	str.charAt(2) // 第一个出现
 // 字符选择(截取):
 	str.slice(1,3);
 // 字符串按指定格式转换数组:
  	str.split(',')
 // 字符串截取:
 	str.substr(1,1) // 字符串截取 位置,长度 (负数反方向索引)
    str.substring(1,2) // 字符串截取 开始位置,结束位置+1 (不支持负数)
 // 字符串搜索(字符串或正则):
 	str.search('hello') // 不存在-1,存在即索引
 // 字符串一次替换(字符串或正则)&正则全局替换:
 	str.replace('om','erry');
 // 字符串匹配正则返回数组: 
	str.match('/^o$/gi',) 

正则

正则

// 语法
	/正则主体/修饰符(可选)
	/^$/igm // ^正则开头 $正则结尾 i 忽略大小写 g 全局匹配 m 多行模式
// 搭配使用方法
	search、replace...
// 修饰符
    i 大小写不敏感
    g 全局匹配
    m 多行匹配
// 表达式模式
    [abc][0-9][x|y] // 范围查找
	\d (数字)、\s(空白字符)、\b(单词边界)、// 元字符
    n+(至少1个n字符) 、n*0以上字符)、n?01个字符)// 量词
// 正则方法
	let str = 'hello';
	RegExp(/e/) // 正则语法
	/e/.test(str) // 检测是否符合正则
    /e/.exce(str) // 返回匹配结果 数组或null

版权声明:本文为qq_39683070原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。