【js】如何去除字符串中多次出现的指定的动态内容

/*,每两个逗号之间的值可能反复出现多次,需要去掉指定的一个内容,如下,需要的最终效果是*/

var provinces = '上海,北京,上海,上海,北京,上海,上海';
var targetProvince = '上海';//多个省份名逗号隔开,去要去掉指定省份名,当然紧挨着的逗号也要去掉,保持最终效果还是逗号隔开
alert(quchong(provinces,targetProvince));


/*	方法作用:去重a字符串中反复出现的字符串b
	a是一个逗号隔开的字符串(首尾没逗号)
	b是需要去掉的指定的一个动态内容
	例如:a='上海,北京,上海,上海,北京,上海,上海'
	b='上海'
	最终效果a='北京,北京'
*/
function quchong(a,b){
	var aArr = a.split(',');//第一步:转为arr
	var indexArr = new Array();//存放下标
	for(var i=0; i<aArr.length; i++){//第二步:将“上海”出现的下标存在一个数组中
		if( aArr[i]==b ){
			indexArr.push(i);
		}
	}
	for(var i=(indexArr.length-1); i>=0; i--){//第三步:根据下标使用splice去掉指定的“上海”,思考:为什么从末尾开始splice?
		aArr.splice(indexArr[i],1); 
	} 
	aArr = aArr.toString();//第四步:去掉“上海”后的数组转为字符串,便可保持“逗号隔开”的效果
	return aArr.toString();
}

猜你喜欢

转载自blog.csdn.net/vayne_xiao/article/details/80372918
今日推荐