在项目中我们经常会用到一些后台返回的数据,而有些数据的内容我们修改之后渲染和操作起来会更方便,我在项目中就遇到了一个不能渲染的问题。
后台返回的数据是自营店商品和api商品,这个api商品是客户那边给到后端的,和我们自营店商品的一些东西不一样
-
这里客户那边返回的商品详情的数据
-
自营店商品的商品详情
这里很明显的是标签不同 所以导致渲染有误,于是我用到了字符串的替换方法:replace()
其中indexOf()
我在上篇文章中有介绍。 -
拼接字符串:concat()
很多小伙伴就联想到了数组里也有这个方法。
var a = "abc";
var b = "def";
var c = a.concat(b);
console.log(c);//abcdef
上面说的 replace()
用于在字符串中用一些字符替换另一些字符,或替换一个与正则表达式匹配的子串
var str="abc Def!"
console.log(str.replace(/abc/, "CBA"))//CBA Def!
检索字符串search()
search()
方法用于检索字符串中指定的子字符串,或检索与正则表达式相匹配的子字符串。要执行忽略大小写的检索,请追加标志 i。如果没有找到任何匹配的子串,则返回 -1。
var str="abc DEF!"
console.log(str.search(/DEF/))//4
在 JavaScript 中,正则表达式常用于两个字符串方法:search() 和 replace()。
search()
方法使用表达式来搜索匹配,然后返回匹配的位置。
replace()
方法返回模式被替换处修改后的字符串
截取字符串的三种方式:slice() , substring() , substr()
let str = 'abcdef';
// 0
str = str. slice( 0); //返回整个字符串 abcdef
str = str. substring( 0); //返回整个字符串 abcdef
str = str. substr( 0); //返回整个字符串 abcdef
// 使用一个参数
str = str. slice( 2); //截取第二个之后所有的字符 cdef
str = str. substring( 2); //截取第二个之后所有的字符 cdef
str = str. substr( 2); //截取第二个之后所有的字符 cdef
// 使用两个参数
str = str. slice( 2, 4); //截取第二个到第四个之间的字符 cd
str = str. substring( 2, 4); //截取第二个到第四个之间的字符 cd
str = str. substr( 2, 4); //截取从第3个开始往后数4位之间的字符 cdef
// 使用两个负数
str = str. slice( 1,- 3); //截取第二个到第四个之间的字符 bc
str = str. substring( 1,- 3); //截取第二个到第四个之间的字符 a #负数转换为0
str = str. substr( 1,- 3); //不能为负数,若强行传递负数,会被当成0处理 ' ' #负数转换为0
console. log( str)`
上述都是es5
的一些方法,而es6
中有新增的方法,自己去了解一些吧!
es5链接
:https://blog.csdn.net/weixin_40002964/article/details/88123637
es6链接
:https://es6.ruanyifeng.com/#docs/string-methods
很多小伙伴不理解字符串的方法数组能用原因是?
https://blog.csdn.net/qq_43076346/article/details/90372154