笔记首发
var str = 'aaabbccdddeeee';
// 定义变量 存储数据var obj = {};
// 循坏遍历 拿到字符串所有的值for (var i = 0; i < str.length; i++) {
// 当obj中为undefined时 将数值写入obj中if (obj[str[i]] == undefined) {
obj[str[i]] = 1;}console.log(`当前 i == ${i}; str[i] == ${str[i]}`, obj);}console.log(obj);

var str = 'aaabbccdddeeee';
// 定义变量 存储数据var obj = {};
// 循坏遍历 拿到字符串所有的值for (var i = 0; i < str.length; i++) {
// 当obj中为undefined时 将数值写入obj中if (obj[str[i]] == undefined) {
obj[str[i]] = 1;}else{// 累加统计字数obj[str[i]]++;}// console.log(`当前 i == ${i}; str[i] == ${str[i]}`, obj);}console.log(obj);

/* 解释说明if(obj[a] === undefined){ true // undefined的布尔值是false // !undefined=true !obj[str[i]]=trueobj[str[i]] = 1;}else{ falseobj[str[i]]++;}*/
var str = 'aaabbccdddeeee';
// 定义变量 存储数据var obj = {};
// 循坏遍历 拿到字符串所有的值for (var i = 0; i < str.length; i++) {
// 当obj中为undefined时 将数值写入obj中// if (obj[str[i]] == undefined) {if (!obj[str[i]]) {obj[str[i]] = 1;} else {// 累加统计字数obj[str[i]]++;}// console.log(`当前 i == ${i}; str[i] == ${str[i]}`, obj);}console.log(obj);
转化为数组字符串.split(分隔符)反转数组- 将数组的每一项
合并为一个字符串
var str = 'aabbccdd';console.log('原字符串:', str);
// split 分割var str1 = str.split('');console.log(str1);
// reverse 反转var str2 = str1.reverse();console.log(str2);
var str3 = str2.join('');console.log('反转字符串:',str3);

优化代码
var str = 'aabbccdd';var str1 = str.split('').reverse().join('');console.log(str1);
- 查找字符串中是否拥用 ‘6666’ ,(
includes)- 将其替换掉 “” (
replace)
var str = '66661234666612347771234777';console.log('原字符串', str);
// 判断是否满足条件while (str.includes('6666')) {
str = str.replace('6666', '****');}console.log('替换字符串', str);

var str = '66661234666612347771234777';console.log('原字符串', str);// 定义变量 存储要替换的违禁词var arr = ['6666', '777'];// for循坏遍历for (var i = 0; i < arr.length; i++) {while (str.includes(arr[i])) {
str = str.replace(arr[i], '****')}}console.log('替换字符串', str);
// forEach循坏遍历arr.forEach(function (item) {while (str.includes(item)) {str = str.replace(item, '****')}})console.log('替换字符串', str);

查询字符串(约定)
- 数字字符串 ‘1234567’
- 标签字符串 ‘’
查询字符串:‘key=value’多个查询字符串:‘key=value;key1=value1;key2=value2’
- 需求:将查询字符串转换为对象格式
- 拿到字符串中所有的
key- 拿到字符串中所有key对应的
value
- 将字符串分隔为
key=value(分隔完应该有3个)- 拿到每一个key添加到对象中, 并且给值赋值为对应的value
// 模拟一个查询字符串var str = 'username=QF;age=18;abc=123'console.log('原字符串:', str);
// 定义变量 存储数var obj = {};
var arr = str.split(';');console.log('分号分割字符串:', arr);
// 循坏遍历for (var i = 0; i < arr.length; i++) {// 等号分割字符串var newArr = arr[i].split('=');console.log('等号分割字符串:', newArr);
var key = newArr[0]var value = newArr[1]// console.log(key, value)obj[key] = value}console.log(obj);

最终代码
// 模拟一个查询字符串var str = 'username=QF; age=18;abc=123';console.log(str);// 定义变量 存储数据var obj = {};// 分号分割字符串var arr = str.split(';');// 循坏遍历 for (var i = 0; i < arr.length; i++) {// 等号分割字符串var newArr = arr[i].split('=');var key = newArr[0];var value = newArr[1];obj[key] = value;}console.log(obj);

// 模拟一个查询字符串var str = 'username=QF;age=18;abc=123'console.log('原字符串:', str);
// 定义变量 存储数var obj = {};
var arr = str.split(';');console.log(arr);
arr.forEach(function (item) {//等号分割字符串var newArr = item.split('=')// var key = newArr[0]// var value = newArr[1]// obj[key] = valueobj[newArr[0]] = newArr[1]})
console.log(obj)

var obj = {username: 'QF',age: 18,abc: 124};console.log('原对象:', obj);
var newStr = '';for (var key in obj) {// 累加键值对newStr += 'key' + '=' + obj[key] + ';';console.log(newStr);}// 字符串.slice(开始下标, 结束下标)newStr = newStr.slice(0, newStr.length - 1);console.log('查询字符串:', newStr);
