JavaScript的数组和字符串应用
函数search实现在一个已排序的数字类型数组中查找指定数字的功能。
可以采用数组的内置方法,二分查找法等进行操作
1 //方法一 2 var search = function(arr,dst){ 3 var idx = arr.indexOf(dst); 4 return idx; 5 }; 6 var arr = [1, 2, 4, 6, 7, 9, 19,20, 30, 40, 45, 47]; 7 var idx = search(arr,45); 8 console.log(idx); 9 10 11 //方法二 12 var search = function(arr,dst){ 13 14 for (var i = arr.length - 1; i >= 0; i--) { 15 if (arr[i] === dst) { 16 return i; 17 } 18 } 19 }; 20 var arr = [1, 2, 4, 6, 7, 9, 19,20, 30, 40, 45, 47]; 21 var idx = search(arr,45); 22 console.log(idx); 23 24 //方法三 二分法 25 var search = function(arr,dst,left,right){ 26 var mid = Math.floor((left+right)/2); 27 var midval = arr[mid]; 28 if (dst > midval) { 29 search(arr,dst,mid,right); 30 } 31 else if (dst < midval) { 32 search(arr,dst,left,mid); 33 } 34 else{ 35 console.log(mid); 36 return mid; 37 } 38 } 39 var arr = [1, 2, 4, 6, 7, 9, 19,20, 30, 40, 45, 47]; 40 var idx = search(arr,45,0,arr.length-1); 41 console.log(idx);
实现一个 toCamelStyle 函数,把“aaa-bbb-cc”这种形式的命名转换为“aaaBbbCc”,如: toCamelStyle('margin-left'); // marginLeft。(尝试使用多种方式)
1 var toCamelStyle = function(str){ 2 var nstr = str.split("-"); 3 var mystr = ""; 4 for (var i = 0; i < nstr.length; i++) { 5 if (i === 0) { 6 mystr = mystr + nstr[i]; 7 }else{ 8 mystr = mystr + nstr[i].substring(0,1).toUpperCase()+nstr[i].substring(1); 9 } 10 } 11 return mystr; 12 } 13 var str = "aa-bb-cc"; 14 var mystr = toCamelStyle(str); 15 console.log(mystr);