JavaScript 中 trim() 方法原理及简单实现

ES2019 对字符串实例新增了trimStart()和trimEnd()这两个方法。它们的行为与trim()一致,trimStart()消除字符串头部的空格,trimEnd()消除尾部的空格。它们返回的都是新字符串,不会修改原始字符串。

我们用函数的形式来实现以上方法:
/**
str:传入的字符串
direct:表示具体从哪边trim
*/
function trim(str, direct=null) {
	if(direct === "l") { // left 表示去除 头部空格
    	return str.replace(/^\s+/g, "");
    } else if(direct==="r") { // right 表示去除 尾部空格 
		return str.replace(/\s+$/g, "");
	} else { // 去除两端空格
		return str.replace(/(^\s+)|(\s+$)/g, "");
	}
}
let str = "   hello   ";
trim(str) //hello/空格都去除了
trim(str, "l") //hello   /右边空格还在
trim(str, "r") //   hello/左边空格已不再
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值