常用案例
- 案例1
var url = ‘http://www.lolo.com/login?name=zs&age=18&b=2’;
获取url中?后面的内容 ,可以通过 对象[key] = value; 获取值
例如 http://www.itheima.com/login?name=zs&age=18&b=2
获取 ? 后面的内容, 以 key value 的形式保存 name: ‘zs’ , age: '18’
var url = 'http://www.lolo.com/login?name=zs&age=18&b=2';
function getParams(url) {
/* 1.获取?后面的内容 */
//找到 ? 的位置
var char = '?';
var index = url.indexOf(char) + 1; //28 + 1 (? 是 28的位置 ,获取的是 ? 后面的字符串)
//获取 ? 后面的内容 name=zs&age=18&b=2
var str = url.substring(index);
//console.log(str); //name=zs&age=18&b=2
// 以 & 为分隔符, 分割成几个数组
char = '&';
var arr = str.split(char); //
//console.log(arr); //(Array) ["name=zs", "age=18", "b=2"]
// 遍历数组
// 以 = 为分隔符, 分割成几个字符串
var obj = {};
for (var i = 0; i < arr.length; i++) {
var temp = arr[i].split('=');
//console.log(temp); // ["name", "zs"] \n ["age", "18"] \n ["b", "2"]
var key = temp[0]; // "name" \n "age" \n "b"
var value = temp[1]; // "zs" \n "18" \n "2"
//对象赋值
obj[key] = value; // 对象 key: value 赋值
}
return obj
}
var obj = getParams(url); //执行函数
console.log(obj); //{name: "zs", age: "18", b: "2"}
console.log(obj.name); //zs
- 案例2
判断一个字符串中出现次数最多的字符,统计这个次数
var str = 'abcoefoxyozzopp';
var obj = {}; //定义对象
var max = 0; //定义最大次数
for (var i = 0; i < str.length; i++) {
var item = str.charAt(i); //返回 索引上的字符 a、b、c等等
//判断出现的次数
if (obj[item]) {
obj[item]++; //非第一次数 ++
} else {
obj[item] = 1;//第一次次数 设置 1
}
//求出现次数的最大值
var char; //用来保存最大次数 对应的字符
for (var key in obj) { //遍历obj[key]
//console.log(key); //key = a ,obj[key] = 1
if (max < obj[key]) {
max = obj[key]; //比较出出现次数最多的 次数
char = key; //次数最大对应的 字符
}
}
}
console.log(char); // 'o'
console.log(max); // 4
- 案例三
将字符串中的部分 字符/串 替换成指定 字符/串
var str = 'abcoefoyozooep';
/* var index = str.indexOf('oe');
while (index !== -1) {
str = str.replace('oe', '!');
index = str.indexOf('oe', index + 1); //寻找下一个 'o', ('o' 代表寻找的字符串,index + 1 代表的是查找位置的索引)
}
console.log(str); */
/*上面的比较麻烦*/
/*注意: split()方法将字符串转换成数组 */
var arr = str.split('oe'); //arr = (3) ["abc", "foyozo", "p"](Array)
console.log(arr.join('1')); //调用 数组方法join(),连接数组变成字符串 abc1foyozo1p
- 案例4
去除字符串中的所有空白
//去除字符串中的所有空白
var str = ' abc d ef ';
//console.log(str.trim()); // 输出 'abc d ef',只是去除了两边的空白
var arr = str.split(' ');
console.log(arr); //split() 将字符串转换成数组 ["", "", "abc", "d", "ef", "", ""]
console.log(arr.join('')); // 'abcdef',消除了所有的空白
//console.log(arr.join(',')) //,,abc,d,ef,,