1.用正則和非正則褐鸥,實(shí)現(xiàn)一個(gè)字符串轉(zhuǎn)為駝峰
非正則
let str = "get-element-by-id";
function fun1(str) {
var strArr = str.split("-");
for (var i = 1; i < strArr.length; i++) {
var start = strArr[i].charAt(0).toUpperCase();
var end = strArr[i].slice(1);
strArr[i] = start + end;
}
return strArr.join("");
}
console.log(fun1(str));
正則一
let str = "get-element-by-id";
function fun1(str) {
//\w元字符用來(lái)匹配單詞字符窟她,它等價(jià)于"[a-zA-Z0-9]"。
var reg = /-(\w)/g; //子項(xiàng)()表示子項(xiàng)
return str.replace(reg, function($0, $1) {
//$0代表正則整體开泽,replace()方法中的第二個(gè)參數(shù)若是回調(diào)函數(shù),那么這個(gè)回調(diào)函數(shù)中的參數(shù)就是匹配成功后的結(jié)果
//若回調(diào)函數(shù)中有多個(gè)參數(shù)時(shí),第一個(gè)參數(shù)代表整個(gè)正則匹配結(jié)果羊异,第二個(gè)參數(shù)代表第一個(gè)子項(xiàng)
console.log($0); //-b
console.log($1); //b
return $1.toUpperCase();
});
}
console.log(fun1(str));
正則二
let str = "get-element-by-id";
var reg = /-\w/g;
function fun1(str) {
//\w元字符用來(lái)匹配單詞字符,它等價(jià)于"[a-zA-Z0-9]"彤断。
return str.replace(reg, function($) {
//console.log($); //-e -b -i
return $.slice(1).toUpperCase();
});
}
console.log(fun1(str));
2.判斷一個(gè)字符串中出現(xiàn)次數(shù)最多的字符野舶,統(tǒng)計(jì)這個(gè)次數(shù)
var str = "asdfssaaasasasasaa";
var obj = {};
for (var i = 0; i < str.length; i++) {
if (!obj[str.charAt(i)]) {
obj[str.charAt(i)] = 1;
} else {
obj[str.charAt(i)]++;
}
}
var count = 0;
var word = "";
for (var i in obj) {
if (obj[i] > count) {
count = obj[i];
word = i;
}
}
console.log("出現(xiàn)次數(shù)最多的是:" + word + "出現(xiàn)" + count + "次");
3.寫一個(gè)獲取非行間樣式的函數(shù)
//獲取非行間樣式
var oDiv2 = document.getElementById("Div2");
//獲取非行間樣式 方法,currentStyle是IE中的屬性瓦糟,getComputedStyle是其他瀏覽器的方法(注意其有兩個(gè)參數(shù))筒愚;在非行間樣式中,style屬性只能去賦值菩浙,在行間樣式中才能去獲取樣式巢掺;
function getStyle(obj, attr) {
//console.log(obj.currentStyle);
//通過(guò)obj.currentStyle是否為真來(lái)判斷當(dāng)前瀏覽器時(shí)IE還是其他
if (obj.currentStyle) {
//IE
return obj.currentStyle[attr];
} else {
//非IE瀏覽器
// console.log(window.getComputedStyle(obj, false)); //返回一個(gè)對(duì)象 報(bào)告元素的所有CSS屬性的值
return window.getComputedStyle(obj, false)[attr];
}
}
console.log(getStyle(oDiv2, "width"));
4.字符串反轉(zhuǎn)
let str = "123456768";
function fun1(str) {
return str
.split("")
.reverse()
.join("");
}
console.log(fun1(str));
5.將數(shù)字 12345678 轉(zhuǎn)化成 RMB 形式 如: 12,345,678
var str = 12345678;
function fun1(str) {
var newstr = str + ""; //轉(zhuǎn)成字符串
let strArr = newstr.split("").reverse();
let result = [];
for (let i = 0; i < strArr.length; i++) {
if (i % 3 === 0 && i !== 0) {
result.push(",");
}
result.push(strArr[i]);
}
return result.reverse().join("");
}
console.log(fun1(str)); // 12,345,678