一、敏感词替换
var origin = 'asHHdadHHsfHHdagHHfas'
var s = 'HH'
// code run here ...
// 结果 : 'as**dad**sf**dag**fas'
console.log(origin)
// 敏感词替换
var origin = 'asHHHdMMadHHsNNfHHdNNaMMgHHfas'
var s = 'HH'
console.log('原来的字符串:'+origin);
// 第一种
// // 当我查找到s的时候,进行替换
while(origin.indexOf(s) != -1){
origin=origin.replace(s,'**')
}
console.log('替换之后的字符串:'+origin);
// 第二种
console.log(origin.split(s).join('**'));
// 第三种
for(var i = 0; i < origin.length; i++){
if(origin.indexOf(s) != -1){
origin=origin.replace(s,'**')
}
}
console.log('替换之后的字符串:'+origin);
二、批量替换敏感词
var origin = 'asHHdMMadHHsNNfHHdNNaMMgHHfas'
var a = [ 'HH', 'MM', 'NN' ]
// code run here ...
// 结果 : 'as**d**ad**s**f**d**a**g**fas'
console.log(origin)
// 批量替换敏感词
var str = 'asHHdMMadHHsNNfHHdNNaMMgHHfas'
var a = [ 'HH', 'MM', 'NN' ]
// 先对数组进行遍历把字符串取出来
// 第一种
for(var j = 0;j < a.length;j++){
for(var i = 0; i <= str.length ;i++){
str=str.split(a[j]).join('**')
}
}
console.log(str);
// 第二种
a.forEach(function(item){
// console.log(item);
str = str.split(item).join('**')
})
console.log(str);
三、把查询字符串变成对象
// 字符串格式
var str = 'name=Jack&age=18&gender=男'// code run here ...
// 结果: { name: 'Jack', age: '18', gender: '男' }
// 解析字符串
var origin = 'name=Jack&age=18&gender=男'
// 设置一个空对象
var obj = {}
// 这里转换成数组
var arr = origin.split('&').join(' ').split('=').join(' ').split(' ')
console.log(arr);
// 把数组中的每一个值进行判断,并赋给对象
for(var i=0;i<arr.length;i++){
if(i%2==0){
// 第一个arr[i]是键,arr[i+1]是值
obj[arr[i]]=arr[i+1]
}
}
console.log(obj);
//第二种
function queryString(str){
// 要返回一个对象,首先应该出现一个对象
var obj = {}
// 这里开始转换
// 先进行分割
var res = str.split('&')
// 循环遍历
res.forEach(function(item){
// 进行再次分割,去掉==
var res1 = item.split('=')
// 把对应的内容添加至对象中
obj[res1[0]] = res1[1]
})
// 这里进行返回对象
return obj
}
四、把对象变成查询字符串
// 原始数据
var str = { name: 'Jack', age: '18', gender: '男' }// code run here ...
// 结果: 'name=Jack&age=18&gender=男'
//第一种
// 把对象变成查询字符串
function parseQueryString(obj){
// 先定一个一个空的字符串
var str = ''
// 拿到对象中的 k value
for(var k in obj){
// 进行拼接
// str += k + '=' +obj[k] + '&'
str += `${k}=${obj[k]}&`
}
// 把最后的一个&去掉就可以了
// str = str.slice(0,str.length - 1)
str = str.slice(0,-1)
// 进行返回字符串
return str
}
//第二种
// 把对象变成字符串类型
var obj = { name: 'Jack', age: '18', gender: '男' }
var str=''
// 在这里遍历对象 取出k value ,并替换等于和&
for(var k in obj){
str += `${k}=${obj[k]}&`
}
var str2=str.slice(0,-1)
console.log(str2);
//第三种
var res = []
for (var k in obj) {
res.push(k,'=',obj[k],' ')
}
console.log(res.join('').trim().split(' ').join('&'));