【js前端面试】js中字符串的常用方法

在面试中,经常会被问到了解的javascript中字符串的常用方法有哪些,这里做一个总结。

字符串的索引

js中字符串和数组类似,有对应的索引值,可以直接通过索引值访问字符串中对应位置的字符值。

var str = "哈哈哈这是一个test";
console.log(str[3]);        //这
console.log(str[8]);        //e

也可以使用chartAt()方法获取指定索引的字符值。

var str = "哈哈哈这是一个test";
console.log(str.charAt(3));     //这

查询相关的方法

indexOf方法

返回指定字符在这个字符串中出现的下标索引值,如果字符串中没有这个字符,返回-1。

var str = "哈哈哈这是一个test";
console.log(str.indexOf('e'));     //8
console.log(str.indexOf('hh'));     //-1

这个indexOf方法对数组也适用。

const nums = [0,'1',8,10];
console.log(nums.indexOf('1'));     //1
console.log(nums.indexOf(1));       //-1

search方法

和indexOf方法效果一样,存在则返回索引值,不存在则返回-1。

var str = "哈哈哈这是一个test";
console.log(str.search('t'));       //7
console.log(str.search('g'));       //-1

但是数组查询不能使用search方法。

includes方法

判断给定字符串中是否包含了某个字符,返回值是布尔值,如果包含返回true,没包含返回false。

var str = "哈哈哈这是一个test";
console.log(str.includes('t'));     //true
console.log(str.includes('h'));     //false

startWith / endWith方法

判断字符串是否以指定字符开头/结尾。返回一个布尔值。

let str4 = "computer"
console.log( str4.startsWith("c") ); // true
console.log( str4.startsWith("C") ); // false

修改字符串的方法

slice方法

如果给slice方法传入一个参数:表示从第几位开始对字符串进行切割(从某一位到字符串的结尾)。
如果给slice方法传入两个参数:则切割字符串的两个索引中间部分(左闭右开区间)。如果参数为负数:从结尾开始算,最后一位是-1,往前索引值依次减1。

var str = "哈哈哈这是一个test";
console.log(str.slice(2));      //哈这是一个test
console.log(str.slice(2,7));    //哈这是一个
console.log(str.slice(2,-2));       //哈这是一个te

substring方法

用法类似slice。但是substring不接收负数作为参数,当遇到负数索引时,会将这个索引按0进行字符串切割

var str = "哈哈哈这是一个test";
console.log(str.substring(-3))      //哈哈哈这是一个test
console.log(str.substring(2,9));    //哈这是一个te

substr方法

接受两个参数:第一个参数是切割字符串的起始位置,第二个参数是切割的长度。

string.substr(start,len)		//提取一个长度为len,从start开始的字符串

使用:

var str = "哈哈哈这是一个test";
console.log(str.substr(2,3));       //哈这是

replace方法

字符串替换。第一个参数是指定要替换的字符,第二个参数是替换后的字符。

var str = "哈哈哈这是一个test";
console.log(str.replace('哈','ha'));    //ha哈哈这是一个test

如果要全局替换,要使用带g修饰符集的正则表达式。

var str = "哈哈哈这是一个test";
console.log(str.replace(//g,'ha'));    //ha哈哈这是一个test

大小写转换

toUpperCase() 		//转为大写
toLowerCase()    	//转为小写

concat方法

字符串拼接。与字符串+号拼接类似,将两个字符串连接起来。

var str = "哈哈哈这是一个test";
console.log(str.concat(true));      //哈哈哈这是一个testtrue
console.log(str.concat('这是拼接的内容'));      //哈哈哈这是一个test这是拼接的内容

trim方法

用于去掉字符串中的空格。

var str2 = "   hello   ";
console.log(str2.trim());       //hello len=5

字符串与数组的转换

split方法

将字符串拆分为子字符串数组,返回新数组,不改变原始字符串。

var str3 = "这 是 一 个 test";
console.log(str3.split(" "));   //(5) ['这', '是', '一', '个', 'test']
console.log(str3.split(""));    //(12) ['这', ' ', '是', ' ', '一', ' ', '个', ' ', 't', 'e', 's', 't']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值