转换小驼峰命名
骆驼式命名法的命名规则可视为一种惯例,并无绝对与强制,为的是增加识别和可读性。
要求: 骆驼式命名法就是当变量名或函数名是由一个或多个单词连结在一起,而构成的唯一识别字时,第一个单词以小写字母开始;从第二个单词开始以后的每个单词的首字母都采用大写字母。 例如: querySelectorAll、getElementsByClassName等;
let str = 'Get-elements-by-class-name'
function getHumpNamed(str) {
// 将字符串以"-"分割,并保存到数组
let strArr = str.split('-'), newStr = []
// 遍历数组,获取到数组元素1
for (let i = 0; i < strArr.length; i++) {
// 将数组的第一个元素转换为小写,并添加到新字符串中
if (i == 0) {
newStr += strArr[i].toLowerCase()
} else {
// 将除第一个的数组元素的首字母转换为大写,并将除首字母外的元素字符转换为小写
//strArr[i][0]和substring(0, 1):获取元素的首字母 .toUpperCase():转换为大写
// substr(1):获取除首字母外的元素字符 .toLowerCase():转换为小写
//nweStr += (strArr[i][0].toUpperCase() + strArr[i].substr(1).toLowerCase())
newStr += (strArr[i].substring(0, 1).toUpperCase() + strArr[i].substr(1).toLowerCase())
}
}
return newStr
}
console.log(getHumpNamed(str));
获取字符串中每个字符出现的次数
function getCharacters(str) {
let obj = {};
// 遍历字符串,获取到字符串的每个值
for (let i = 0; i < str.length; i++) {
// 将字符串的值赋值给一个变量
let k = str[i]
// 判断对象中是否有当前字符对应的属性
// obj[k] ? obj[k] += 1 : obj[k] = 1
if (obj[k]) {
// 有则将当前对象属性的值加1
obj[k] += 1
} else {
// 没有该对象属性,就在对象中添加该属性,并将值设置为1
obj[k] = 1
}
}
return obj
}
let str = "helloworld";
console.log(getCharacters(str));
获取页面网址等号后面变量的值
let str = 'https://baijiahao.baidu.com/s?id=1728133969871075052&wfr=spider&for=pc'
function grtURL(str) {
// 将字符串从 ? 处分割后, 在选择第二个数组元素从 & 分割, 并保存到数组
let arr = str.split('?')[1].split('&'), obj = {}
// 对数组进行遍历,获取到数组中的每个值
for (let i = 0; i < arr.length; i++) {
// 获取到数组的每个值后,对将数组值从=处分割,并保存到新数组
let newarr = arr[i].split('=')
// 最后,将新数组的第一个元素作为对象的键,并将新数组第二个元素赋值给该对接即可
obj[newarr[0]] = newarr[1]
}
return obj
}
console.log(grtURL(str));