每日演算法 今日是: 1、將字元串轉換為駝峰格式 2、判斷字元串中是否有連續重覆的字元 將字元串轉換成駝峰格式 // css 中經常有類似 background-image 這種通過 - 連接的字元,通過 javascript 設置樣式的時候需要將這種樣式轉換成 backgroundImage 駝峰格 ...
每日演算法
今日是:
1、將字元串轉換為駝峰格式
2、判斷字元串中是否有連續重覆的字元
將字元串轉換成駝峰格式
// css 中經常有類似 background-image 這種通過 - 連接的字元,通過 javascript 設置樣式的時候需要將這種樣式轉換成 backgroundImage 駝峰格式,請完成此轉換功能:// 以 - 為分隔符,將第二個起的非空單詞首字母轉為大寫 // -webkit-border-image 轉換後的結果為 webkitBorderImage // “font-size” // “fontSize”
/*題目分析: 1.明確駝峰格式是第二個字元串開始的字元串首字母大寫,第一個字元串首字母小寫 2.思路:首先通過-,可以判斷字元串首字母的位置 3.一般情況:第一個要求是去掉-後,第一個字元串不變,第二個字元串的首字母大寫 特殊情況:-在開頭,第一個字元串在-後面, 4.解決思路:先按照一般情況處理,最後取出字元串的首字母轉換為小寫,符合題意 */
點擊查看代碼
function cssStyle(str){
var arr = str.split('')
while(arr.indexOf('-')!==-1){
//從頭開始檢索,返回-的索引位置
const index =arr.indexOf('-');
// 刪除從index位置開始的一個元素
arr.splice(index,1);
// -後面的第一個字母遷移到-的位置,轉換為大寫
arr[index] = arr[index].toUpperCase()
}
arr[0] = arr[0].toLowerCase();
return arr.join('');
}
var str = '-font-size';
console.log(cssStyle(str))
字元串中連續重覆的字元
// 給定字元串 str,檢查其是否包含連續重覆的字母(a-zA-Z),包含返回 true,否則返回 false// 示例1
// 輸入
// 'rattler'
// 輸出
// true
// 思路:註意連續重覆,是指相連的兩個字元相同,若有這種字元則能輸出布爾值,要考慮是採用判斷輸出,還是採用方法。
// 這裡兩種方法採用test判斷str中是否有符合正則式的內容,find是判斷字元串切割形成的數組中是否有符合函數的元素
// 易錯:沒有考慮到連續情況
點擊查看代碼
// 方法1:
function containsRepeatingLetter(str) {
return /([a-zA-Z])\1/.test(str);
}
// 方法2:
function aa(str){
let arr = str.split('')
let item = arr.find((item,index) => arr[index] == arr[index+1])
return item ? true : false
}
var str = 'ralerr'
console.log(containsRepeatingLetter(str))
console.log(aa(str))