JavaScript 字符串练习题见这里。
题 1:首字母改大写
function firstLetterToUpperCase(str) {
var res;
if (typeof str === 'string') {
res = str.charAt(0).toUpperCase() + str.substr(1);
} else {
res = str;
}
return res;
}
题 2:去字符串头尾空格
function trim(str) {
var res;
if (typeof str === 'string') {
res = str.replace(/^\s+/g, '')
.replace(/\s+$/g, '');
} else {
res = str;
}
return res;
}
题 3:将字符串中 _
后面的小写字母变大写,并且删除 _
function toCamelStyle(str) {
var res;
if (typeof str === 'string') {
var isFisrstLetterUnderscore = str.charAt(0) === '_';
var wordArr;
if(isFisrstLetterUnderscore){
str = str.substr(1);
}
wordArr = str.split('_');
wordArr = wordArr.map(function (word, index) {
// firstLetterToUpperCase 在题目 1 中实现
return index === 0 ? word : firstLetterToUpperCase(word);
});
res = wordArr.join('');
if(isFisrstLetterUnderscore){
res = '_' + res;
}
} else {
res = str;
}
return res;
}
题 4:删除字符串中所有的数字
function removeNum(str) {
var res;
if (typeof str === 'string') {
res = str.replace(/\d/g, '');
} else {
res = str;
}
return res;
}
题 5: 反转字符串
function reverse(str) {
var res;
if (typeof str === 'string') {
res = [];
var charArr = str.split('');
var currIndex = charArr.length - 1;
for(; currIndex >= 0; currIndex--){
res.push(charArr[currIndex]);
}
res = res.join('');
} else {
res = str;
}
return res;
}
题 6: 统计字符串中各字符在字符串中出现的数量
function caculateExistNum(str) {
var res = false;
if (typeof str === 'string') {
res = {};
var charArr = str.split('');
charArr.forEach(function (eachChar) {
res[eachChar] = res[eachChar] ? res[eachChar] + 1 : 1;
});
}
return res;
}
本文遵守创作共享CC BY-NC-SA 4.0协议
网络平台如需转载必须与本人联系确认。
热门评论
题目3还可以用正则表达式来做,代码如下:
function toCamelStyle(str) {
if( typeof str == "string" ) {
if( str.indexOf("_") !== -1 ) {
return str.replace(/\_[0-9a-z]*/ig,function($0) {
return $0.substr(0,1) + $0.substr(1).charAt(0).toUpperCase() + $0.substr(2);
}).split("_").join("");
}
}
}
题6:function caculateExistNum(str){var arr = str.split('');var json = {};var j;for(var i = 0; i < arr.length; i++) {j = arr[i];if (json[j]){json[j]++;} else {json[j] = 1; } }return json;}
反转字符串可以这样写噢,str.split("").reverse().join("")