match用法
match() 方法可在字符串内检索指定的值,找到一个或多个正则表达式的匹配
str = '14141414'
str.match(/4/g) // ['4', '4', '4', '4']
使用方法:
stringObject.match(searchvalue)
stringObject.match(regexp)
其中stringObject代表需要匹配的字符串,searchvalue代表需要从字符串中检索的内容,regexp代表正则表达式。该方法返回一个数组,但是分为两种情况:
① regexp 没有标志 g。
这种情况返回的数组只包含第一个匹配项,如果未找到匹配项将返回null。该返回的数组中,除了常规的数组元素外,还存在index和input两个对象属性,index存储的是匹配项在stringObject中的位置,而input存储的是stringObject的引用。比如:
console.log(str1.match(‘Hello’)); //传入字符串,返回 [“Hello”]
console.log(str1.match(/\w+/)); //传入正则表达式,返回 [“Hello”]
② regexp 具有标志 g。
这种情况代表全局匹配,返回的数组由所有匹配到的字符串元素组成。比如:
console.log(str1.match(/\w+/g)); //找到两个匹配项,返回 [“Hello”, “Real”]
console.log(str2.match(/\w+/)); //未找到匹配项,返回null
解构赋值
-
按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为
解构,例如ant-upload上传change事件中拿到回调中的fileListuploadChange({ fileList }){ // 将回调中的fileList数组解构出来赋值给data中的fileList,也可解构file对象拿到当前上传文件实例 this.fileList = fileList } -
解构赋值对于复杂数据类型是浅拷贝,对于简单数据类型是深拷贝
const a = { name: '卢伟', age: 20, info:{ city: '上海' } } let { name, age, info } = a name = 'PDD' age = 18 info.city = '北京' console.log(name, age, info) // PDD 18 {city: '北京'} console.log(a) // {name: '卢伟', age: 20, info: {city: '北京'}}