替换字符串 replace()
- replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。
有时候后端返回的字符串会乱码,或者需要做些处理,这时候就需要replace()方法
如,空格替换为换行msg.replace(/\s+| /ig, '<br/>')
\n
替换为换行msg.replace(/\n/g,"</br>")
替换所有字符为*value.replace(/./g,'*')
日常开发中,也有将带有html字段的字符串替换成html的情况
<div v-else :class="item.class" v-html="scope.row[item.prop]">{{scope.row[item.prop]}}</div>
截取字符串substr() 、substring ()
-
substr():返回一个从指定位置开始的指定长度的子字符串。
stringObject.substr(start,length)
start:必选项。所需的子字符串的起始位置。字符串中的第一个字符的索引为 0。
length:可选项。在返回的子字符串中应包括的字符个数。
substr()可在字符串中抽取从 start 下标开始的指定数目的字符。
如果没有指定 length,那么返回的字符串包含从 start 到 stringObject 的结尾的字符。
ECMAscript 没有对该方法进行标准化,因此反对使用它。 -
substring 方法:返回位于 String 对象中指定位置的子字符串。
substring(start, end)
start:指明子字符串的起始位置,该索引从 0 开始起算。
end:指明子字符串的结束位置,该索引从 0 开始起算。
对数组的操作push()、pop()、unshift()、shift()
前端经常需要对后台返回的数据进行操作,比如对数组的操作
- push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
var arr = new Array(3)
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.log(arr.push("James"))//输出为4
- pop() 方法用于删除并返回数组的最后一个元素。
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.log(arr.pop())//输出为Thomas
- unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.log(arr.unshift("William"))//输出为4
- shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
arr[0] = "George"
arr[1] = "John"
arr[2] = "Thomas"
console.log(arr.shift())//输出为George
字符数组转为数字数组(互换)
有好几种方法,这里列出几种记录一下
- Number方法
var arr = [1, 2, 3];
arr.map(String); //数字数组转为字符数组
arr.map(Number) //字符数组转为数字数组
- parseInt
['1','2','3'].map((value)=>{
return parseInt(value)
}) // [1,2,3]
- JSON.parse、 eval 原理差不多
JSON.parse('[' + String(['1', '2', '3']) + ']') // [1,2,3]
eval('[' + String(['1', '2', '3']) + ']') // [1,2,3]
indexOf()查找元素所在位置、判断元素是否存在于数组
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
可利用该方法判断元素是否存在于数组中
const arr=[1,3,2,5,6]
if(arr.indexOf(3)==-1){
console.log('存在')
}else{
console.log('不存在')
}
判断数组中的元素是否存在于另一数组
const arr1=[1,3,2,5,6]
const arr2=[1,3,2,5,6]
tarr1.forEach((item,index)=>{
if(arr2.indexOf(item)==-1){
console.log(item+'存在')
}
})
数组转字符串
array.join(",")
字符串转数组
string.split(',')
字符串数组转数字数组
stringTypeArray.forEach(arrayItem => {
numberArray.push(+arrayItem);
});