前端处理数据方法(替换字符串、截取字符串、操作数组)

替换字符串 replace()

  • replace() 方法用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串。

有时候后端返回的字符串会乱码,或者需要做些处理,这时候就需要replace()方法
如,空格替换为换行msg.replace(/\s+|&nbsp;/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);
});
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值