js中几个有关数组与字符串的练习

给一段文章中的全部指定词语进行过滤
// 比如我要过滤 "SM"

var str = 'asdasdSMasdasdasdSMsdasdasdSMsadasd'

// 需要结果
// asdasd**asdasdasd**sdasdasd**
  • 方法一,用spilt()方法把str分割成以SM为分界的数组,然后用join()方法把数组用**粘合成字符串,有些取巧,但是很好用
    var str = 'asdasdSMasdasdasdSMsdasdasdSMsadasd'
    var res = str.split("SM").join("**")
    
  • 方法二,用传统的replace方法替换内容,由于replace只能替换检索到的第一个值,所以要多次循环替换,直到indexOf检索不出来为止.
    var str = 'asdasdSMasdasdasdSMsdasdasdSMsadasd'
    var res = str.replace("SM","**")
    while(res.indexOf("SM") != -1)
    {
    	res = res.replace("SM","**")
    }
    

反转字符串
var str = 'abcdefg'

// 要求结果
// gfedcba
  • 由于reverse方法只有在数组中使用,所以把str转变为数组,反转之后再转为字符串

    var str = 'abcdefg'
    var res = str.split("").reverse().join("")
    

统计字符串中每个字符的个数
var str = 'abcdacbabcbababcbabcabd'

// 结果
// { a: 出现次数, b: 出现次数, ...}
  • 这里使用的是对象的属性用变量来改变,这个方法需要用到obj[key] = value的方式, 这里的key是属性的变量而非对象中的属性名. 下面的判定中如果这个属性在obj中存在,就让它的值+1; 如果没存在, 就让他的值 =1
var str = 'abcdacbabcbababcbabcabd'
var obj = {}
for(var i=0;i<str.length;i++)
{
	if(obj{str[i]})
		obj{str[i]}++
	else
		obj{str[i]} = 1
}

在这里插入图片描述


去重
aabccd统计每个字符出现的次数,去掉重复的字符,使结果显示 abcd
  • 把字符串转为数组,再排序,这样一样的值就会挨着了,再用数据两两相比,删掉其中一个就行.
var str = "aabccd"
var res = str.split("").sort()
for(var i=0; i<res.length-1; i++)
{
	if(res[i] === res[i+1])
		res.splice(i,1)
}
res = res.join("")
console.log(res)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值