標籤:split 屬性 .com 賦值 bsp sub 輸入 indexof value
這篇隨筆根據兩個面試題來實戰一下數組、字串的一些方法。
題一:一個字串中找出出現次數最多的字元次數
1 var str = ‘fuuhuhuhufaihuhfnkjNKCNIO‘;? 2 function num(str) { 3 var json = {}; 4 for (var i = 0; i < str.length; i++){ 5 //字串的charAt()方法返回指定位置的字串 6 if(!json[str.charAt(i)]){//若json對象中沒有當前屬性,則給當前屬性賦值為1 7 json[str.charAt(i)] = 1; 8 }else{ 9 json[str.charAt(i)]++;//若json對象中已經有當前屬性,則將當前屬性值+110 }11 }12 var iMax = 0;13 var iIndex = ‘‘;14 for(var i in json){//for in遍曆json對象的屬性15 if(json[i]>iMax){16 iMax = json[i];17 iIndex = i;18 }19 }20 console.log(‘出現次數最多的是:‘+iIndex+‘出現‘+iMax+‘次‘);21 }22 num(str);
題二:輸出相應字串的值
具體描述:給定一個url字串,如var url="http://www.baidu.com/?username=xiaohua&password=262763"; 當我們輸入username,輸出username的值
方法一
1 var url="http://www.baidu.com/?username=xiaohua&password=262763"; 2 function urle(key) { 3 var value=""; 4 var cc = url.split(‘?‘)[1].split(‘&‘); 5 for(var i=0;i<cc.length;i++){ 6 var r = cc[i]; 7 var a = r.split(‘=‘); 8 if (key==a[0]){ 9 value = a[1];10 break;11 }12 }13 return value;14 }15 console.log(urle(‘username‘));//xiaohua
url.split(‘?‘)將url字串轉化成數組:["http://www.baidu.com/", "username=xiaohua&password=262763"],現將原來字串‘?‘後面的字串提取出來然後再轉化成數組代碼如第四行
方法二
1 function urle(key) { 2 var value = ""; 3 var aa = url.indexOf(‘?‘); 4 var bb = url.substring(aa+1); 5 var cc = bb.split(‘&‘); 6 for(var i=0;i<cc.length;i++){ 7 var r = cc[i]; 8 var a = r.split(‘=‘); 9 if (key==a[0]){10 value = a[1];11 break;12 }13 }14 return value;15 }16 console.log(urle(‘username‘));//xiaohua
字串、數組方法實戰--charAt(),split(),indexOf(),substring()