Vue js 截取字符串及数据类型强制转换

整理一下 Vue JS 截取字符串和数据类型转换的一些方法:

截取字符串:

这里总结了3种方法,可以根据需要使用。

slice() 方法可提取字符串的某个部分,并以新的字符串返回被提取的部分 stringObject.slice(start,end)

start 要抽取的片断的起始下标。如果是负数,则该参数规定的是从字符串的尾部开始算起的位置。也就是说,-1 指字符串的最后一个字符,-2 指倒数第二个字符,以此类推。

end紧接着要抽取的片段的结尾的下标。若未指定此参数,则要提取的子串包括 start 到原字符串结尾的字符串。如果该参数是负数,那么它规定的是从字符串的尾部开始算起的位置。

substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符 stringObject.substr(start,length)

start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,那么该参数声明从字符串的尾部开始算起的位置。也就是说,-1 指字符串中最后一个字符,-2 指倒数第二个字符,以此类推。

length 可选。子串中的字符数。必须是数值。如果省略了该参数,那么返回从 stringObject 的开始位置到结尾的字串。

substring() 方法用于提取字符串中介于两个指定下标之间的字符,不接受负数 stringObject.substring(start,stop)

start 必需。一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置。

stop  可选。一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1。如果省略该参数,那么返回的子串会一直到字符串的结尾。

示例:

let str = 'abcdef';

str = str.slice(0);//返回整个字符串 abcdef
str = str.substr(0);//返回整个字符串 abcdef
str = str.substring(0);//返回整个字符串 abcdef

// 使用一个参数
str = str.slice(2);//截取第2位之后所有的字符 cdef
str = str.substr(2);//截取第2位之后所有的字符 cdef
str = str.substring(2);//截取第2位之后所有的字符 cdef
 
// 使用两个参数
str = str.slice(2,4);//截取第2到第4位之间的字符 cd
str = str.substr(2,4);//截取从第3个开始往后数4位之间的字符 cdef
str = str.substring(2,4);//截取第2到第4位之间的字符 cd
 
// 使用参数且带负数
str = str.slice(1,-3);//截取第1至倒数第3位之间的字符 bc
str = str.substr(1,-3);//不能为负数,若强行传递负数,会被当成0处理 '' #负数转换为0
str = str.substring(1,-3);//a #负数转换为0

console.log(str)

数据类型转换:

典型的 String 转 Number 问题。取决于 percent 属性值是整数还是分数。

转换函数:

/*整数*/
parseInt(string)

/*分数*/
parseFloat(string)

/*Number*/
Number(val)

保留几位小数在方法后面加 .toFixed() ,比如去分数保留2位小数 parseFloat(string).toFixed(2)

强制类型转换:

/*把给定的值转换成Boolean型*/
Boolean(value)

/*把给定的值转换成数字(可以是整数或浮点数)*/
Number(value)

/*把给定的值转换成字符串*/
String(value)

利用JS变量弱类型转换:

举个小例子,一看,就会明白了。 

代码如下:

var str= '012.345 '; var x = str-0; x = x*1;

上例利用了 JS 的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的。

参考文献:

JavaScript substring() 方法

vue数据类型转换的问题

未经允许不得转载:w3h5 » Vue js 截取字符串及数据类型强制转换

原创文章,作者:1402239773,如若转载,请注明出处:https://blog.ytso.com/tech/pnotes/231464.html

(0)
上一篇 2022年1月16日 19:44
下一篇 2022年1月16日 19:44

相关推荐

发表回复

登录后才能评论