摘要:例子字符串輸出具體實(shí)現(xiàn)找到第一個(gè)數(shù)字字母出現(xiàn)的位置在字典中的起始位置數(shù)字結(jié)果處理數(shù)字計(jì)數(shù)標(biāo)識(shí)在字典中的起始位置字母結(jié)果處理字母計(jì)數(shù)標(biāo)識(shí)這種方法不好,各位要是有好的方法請(qǐng)告知
例子:字符串124346564abcd 輸出43 65 abcd
具體實(shí)現(xiàn):
str = "124346564abcd" var num = str.match(/[0-9]/g) var letter = str.match(/[a-z,A-Z]/g); // let numberList = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] let numberList = [9,8,7,6,5,4,3,2,1,0] let letterList = ["a", "b", "c", "d", "e"] // 找到第一個(gè)數(shù)字(字母)出現(xiàn)的位置 function findFirst(arr,num) { for (let index = 0; index < arr.length; index++) { if (arr[index] == num) { return index } } } let startIndex = 0 if (num.length > 0) { // 在字典中的起始位置 startIndex = findFirst(numberList, num[0]) } // 數(shù)字結(jié)果 let numArr = [] // 處理數(shù)字 let indexNum = 0 function main(arr) { // 計(jì)數(shù)標(biāo)識(shí) let numIndex = 0 let result = "" for (let index = startIndex; index < numberList.length; index++) { if (numberList[index] == arr[indexNum]) { numIndex ++ indexNum ++ result += numberList[index] } else if (numIndex >= 2) { numArr.push(result) result = "" startIndex = index numIndex = 0 } else { startIndex = findFirst(numberList, arr[indexNum]) result = "" numIndex = 0 if (indexNum < arr.length) { main(num) } break } } } let startIndexLetter = 0 if (letter.length > 0) { // 在字典中的起始位置 startIndexLetter = findFirst(letterList, letter[0]) } // 字母結(jié)果 let letterArr = [] // 處理字母 let indexLet = 0 function mainLetter(arr) { // 計(jì)數(shù)標(biāo)識(shí) let numIndex = 0 let result = "" for (let index = startIndexLetter; index < letterList.length; index++) { if (letterList[index] == arr[indexLet]) { numIndex ++ indexLet ++ result += letterList[index] } else if (numIndex >= 2) { letterArr.push(result) result = "" startIndexLetter = index numIndex = 0 } else { startIndexLetter = findFirst(letterList, arr[indexLet]) if (indexLet < arr.length) { mainLetter(letter) } break } } } if (num && num.length>0) { main(num) console.log(numArr); } if (letter&&letter.length>0) { mainLetter(letter) console.log(letterArr); }
這種方法不好,各位要是有好的方法請(qǐng)告知
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/104233.html
摘要:除法運(yùn)算符總是返回浮點(diǎn)數(shù)。取模運(yùn)算符的結(jié)果和被除數(shù)的符號(hào)正負(fù)號(hào)相同。使用位運(yùn)算符時(shí)要特別注意優(yōu)先級(jí)。太空船運(yùn)算符組合比較符當(dāng)小于等于大于時(shí)分別返回一個(gè)小于等于大于的值。遞增遞減運(yùn)算符不影響布爾值。 一、算術(shù)運(yùn)算符 1. 概覽 例子 名稱 結(jié)果 $a + $b 加法 $a 和 $b 的和。 $a - $b 減法 $a 和 $b 的差。 $a * $b 乘法 $a 和 ...
摘要:在的官方手冊(cè)中寫道支持風(fēng)格的前后遞增與遞減運(yùn)算符。第一個(gè)注意事遞增遞減運(yùn)算符不影響布爾值。遞增遞減布爾值遞增遞減在處理字符變量的算數(shù)運(yùn)算時(shí),沿襲了的習(xí)慣,而非的。還有一個(gè)注意事項(xiàng)遞增遞減其他字符變量則無效,原字符串沒有變化。 在 PHP 的官方手冊(cè)中寫道: PHP 支持 C 風(fēng)格的前/后遞增與遞減運(yùn)算符。 第一個(gè)注意事:遞增/遞減運(yùn)算符不影響布爾值。遞減 NULL 值也沒有...
摘要:算術(shù)運(yùn)算符中的算術(shù)操作主要通過算術(shù)運(yùn)算符來實(shí)現(xiàn),算術(shù)運(yùn)算符包括一元算術(shù)運(yùn)算符和二元算術(shù)運(yùn)算符兩種。一元算術(shù)運(yùn)算符一元算術(shù)運(yùn)算符用于一個(gè)單獨(dú)的操作數(shù),并產(chǎn)生一個(gè)新值。 算術(shù)運(yùn)算符 javascript中的算術(shù)操作主要通過算術(shù)運(yùn)算符來實(shí)現(xiàn),算術(shù)運(yùn)算符包括一元算術(shù)運(yùn)算符和二元算術(shù)運(yùn)算符兩種。 一元算術(shù)運(yùn)算符 一元算術(shù)運(yùn)算符用于一個(gè)單獨(dú)的操作數(shù),并產(chǎn)生一個(gè)新值。在javascript中,一元運(yùn)...
摘要:代碼規(guī)約掃描插件以今年年初發(fā)布的阿里巴巴開發(fā)規(guī)約為標(biāo)準(zhǔn),作為的插件形式存在,檢測(cè)代碼中存在不規(guī)范得位置然后給予提示。 IntelliJ IDEA是目前最好最強(qiáng)最智能的Java IDE,前幾天,他剛剛年滿18歲。 showImg(https://segmentfault.com/img/remote/1460000017974611);? 本文,給大家推薦幾款我私藏已久的,自己經(jīng)常使用的...
摘要:與變量不同,常量不存在可變常量,如果常量名是動(dòng)態(tài)的,也可以用函數(shù)來獲取常量的值。執(zhí)行運(yùn)算符命令反引號(hào)。遞增遞減運(yùn)算符不影響布爾值。遞增遞減其他字符變量則無效,原字符串沒有變化。不允許用來檢測(cè)常量。 變量 基本 引用賦值 global 關(guān)鍵字 以下結(jié)果在命令行中有效,網(wǎng)頁php中請(qǐng)不要嘗試。。。都是坑。Example #1 使用 global或$GLOBALS 以下為網(wǎng)頁ph...
閱讀 3567·2021-11-25 09:43
閱讀 3145·2021-10-08 10:04
閱讀 1635·2019-08-26 12:20
閱讀 2067·2019-08-26 12:09
閱讀 608·2019-08-23 18:25
閱讀 3581·2019-08-23 17:54
閱讀 2337·2019-08-23 17:50
閱讀 813·2019-08-23 14:33