成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專欄INFORMATION COLUMN

Javascript中字符串方法總結(jié)

Channe / 1186人閱讀

原文鏈接:https://mrzhang123.github.io/...

字符方法 chartAt()與charCodeAt()

參數(shù):基于0的字符位置

chartAt()以單字符字符串的形式返回給定位置的那個(gè)字符。而charCodeAt()返回的是字符編碼。

var stringValue = "hello world";
/*chartAt()*/
console.log(stringValue.chartAt(1));    // "e"
字符串操作方法 concat()(數(shù)組中也有該方法)

參數(shù):一個(gè)或多個(gè)字符串

將一個(gè)會(huì)多個(gè)字符串拼接起來,當(dāng)然更常用的是使用 “+” 進(jìn)行拼接

substring()與slice()(數(shù)組中也有此方法)

參數(shù):指定子字符串的開始位置,子字符串到哪里結(jié)束

作用:創(chuàng)建新的子字符串(可以理解為字符串截?。?/p> substr()

參數(shù):指定子字符串的開始位置返回的子字符串的字符個(gè)數(shù)

作用:創(chuàng)建新的子字符串(可以理解為字符串截?。?/p> repeat()(ES6新增)

參數(shù):數(shù)字(表示重復(fù)的次數(shù))

作用:將原字符串重復(fù)n次

如果傳入負(fù)數(shù),則報(bào)錯(cuò),傳入小數(shù)和NaN等同于傳入0

substring,slice,substr,repeat均返回子字符串,不會(huì)修改原來的字符串

var stringValue = "hello world"; 
alert(stringValue.slice(3));          //"lo world" 
alert(stringValue.substring(3));      //"lo world" 
alert(stringValue.substr(3));         //"lo world" 
alert(stringValue.slice(3, 7));       //"lo w" 
alert(stringValue.substring(3,7));    //"lo w" 
alert(stringValue.substr(3, 7));      //"lo worl" 
/*repeat()*/
var a = "he";
var b = a.repeat(3);
console.log(`${a}---$`); /          //"he---hehehe"

當(dāng)給這三個(gè)方法傳入負(fù)值的時(shí)候,三個(gè)的表現(xiàn)不同:

slice()會(huì)將傳入的負(fù)值與字符串的長度相加

substr()會(huì)將第一個(gè)位置的負(fù)值參數(shù)加上字符串長度后轉(zhuǎn)為正數(shù),而第二個(gè)位置的負(fù)值將轉(zhuǎn)化為0

substring()會(huì)把所有的負(fù)參數(shù)轉(zhuǎn)化為0

repeat()會(huì)報(bào)錯(cuò)

字符串位置方法 indexOf()和lastIndexOf()(數(shù)組中也有該方法)

參數(shù):要搜索的子字符串,開始搜索的位置(可選)

搜索給定的子字符串,如果找到則返回位置,否則返回-1

var stringValue = "hello world"; 
alert(stringValue.indexOf("o"));             //4 
alert(stringValue.lastIndexOf("o"));         //7 

這兩個(gè)方法在搜索到第一個(gè)匹配的子字符串后就停止運(yùn)行,所以如果想找到字符串中所有的
子字符串出現(xiàn)的位置,可以循環(huán)調(diào)用indexOflastIndexOf。

var stringValue = "Lorem ipsum dolor sit amet, consectetur adipisicing elit"; 
var positions = new Array(); 
var pos = stringValue.indexOf("e"); 
 
while(pos > -1){ 
    positions.push(pos); 
    pos = stringValue.indexOf("e", pos + 1); 
} 
     
alert(positions);    //"3,24,32,35,52"
ES6新增includes()、startsWith()、endsWith()

includes():返回布爾值,表示是否找到了參數(shù)字符串

startsWith():返回布爾值,表示參數(shù)字符串是否在源字符串的頭部

endsWith():返回布爾值,表示參數(shù)字符串是否在源字符串的尾部

這三個(gè)方法的參數(shù)與indexOf()lastIndexOf()一樣

var s = "Hello world";
s.startsWith("world",6);    // true
s.endsWith("Hello",5);        // true
s.includes("Hello",6);        //false

注意:
使用第2個(gè)參數(shù)n時(shí),endsWith的行為與其他兩個(gè)方法有所不同。它針對前面n個(gè)字符,而其他兩個(gè)方法針對從第n個(gè)位置開始直到字符串結(jié)束的字符。

去空格--trim()

ES5中新增trim()方法用于去除字符串的左右空格,該方法會(huì)創(chuàng)建一個(gè)字符串的副本,不會(huì)改變原有的字符串,此外,F(xiàn)irefox 3.5+、Safari 5+
和 Chrome 8+還支持非標(biāo)準(zhǔn)的 trimLeft()和 trimRight()方法,分別用于刪除字符串開頭和末尾的
空格。

其實(shí)去空格可以使用正則去匹配的去掉,這里寫一個(gè)去空格函數(shù)

/*trim    去掉空白
str要處理的字符串        
[type]     類型:l 去除左邊的空白    r去除右邊空白    b去掉兩邊的空白        a去除所有空白*/
function trim (str,type) {
    var type=type||"b";
    if(type=="b"){
        return str.replace(/^s*|s*$/g,"");
    }else if(type=="l"){
        return str.replace(/^s*/g,"");
    }else if(type=="r"){
        return str.replace(/s*$/g,"");
    }else if(type=="a"){
        return str.replace(/s*/g,"");
    }
}
字符串大小寫轉(zhuǎn)換 toLowerCase()、toLocaleLowerCase()、toUpperCase()和 toLocaleUpperCase() 字符串的模式匹配方法 match()

參數(shù):一個(gè)正則表達(dá)式或RegExp對象

返回一個(gè)數(shù)組。在字符串上調(diào)用這個(gè)方法本質(zhì)上與調(diào)用RegExp的exec()方法相同。

var text = "cat, bat, sat, fat";  
var pattern = /.at/; 
 
//與 pattern.exec(text)相同 
var matches = text.match(pattern);         
alert(matches.index);             //0 
alert(matches[0]);                 //"cat" 
alert(pattern.lastIndex);          //0 
search()

參數(shù):一個(gè)正則表達(dá)式或RegExp對象

返回字符串中第一個(gè)匹配項(xiàng)的索引,如果沒有找到,則返回-1

var text = "cat, bat, sat, fat";  
var pos = text.search(/at/); 
alert(pos);   //1 
replace()

參數(shù):一個(gè)RegExp對象或者一個(gè)字符串(這個(gè)字符串不會(huì)被轉(zhuǎn)換成正則表達(dá)式)一個(gè)字符串或一個(gè)函數(shù)

利用replace()進(jìn)行替換的時(shí)候,如果傳入的是字符串,則只會(huì)替換第一個(gè)子字符串,要想替換所有的子字符串,則需要傳入一個(gè)正則表達(dá)式,而且要指定全局(g)標(biāo)志

var text = "cat , bat , sat , fat";
var result = text.replace("at","ond");
console.log(result); // =>"cont , bat , sat , fat"

result = text.replace(/at/g,"ond");
console.log(result); //=>"cont , bont , sont , font"

該方法并不改變調(diào)用它的字符串本身,只是返回一個(gè)新的替換后的字符串。

當(dāng)?shù)诙€(gè)參數(shù)為函數(shù)時(shí)函數(shù)的返回值作為替換字符串。與第二個(gè)參數(shù)是字符串一樣,如果第一個(gè)參數(shù)是正則表達(dá)式,并且全局匹配,則這個(gè)函數(shù)的方法將被多次調(diào)用,每次匹配都會(huì)被調(diào)用。

該函數(shù)的參數(shù):

match:匹配的子串

p1,p2...:假如replace()方法的第一個(gè)參數(shù)是RegExp對象,則代表第n個(gè)括號(hào)匹配的字符串。

offset:匹配到的子字符串在原字符串中的偏移量。(比如,如果原字符串是“abcd”,匹配到的子字符串時(shí)“bc”,那么這個(gè)參數(shù)是1)

被匹配的原字符串

function replacer(match , p1 , p2 , p3 , offset , string){
    // p1 is nondigits, p2 digits, and p3 non-alphanumerics
    console.log(`${match}
                 ${p1}
                 ${p2}
                 ${p3}
                 ${offset}
                 ${string}`); 
    /* => abc12345#$*%
         abc
         12345
         #$*%
         0
         abc12345#$*%"    */         
    console.log([p1, p2, p3].join(" - ")); // => "abc - 12345 - #$*%"
    return [p1, p2, p3].join(" - ");
}
var newString = "abc12345#$*%".replace(/([^d]*)(d*)([^w]*)/, replacer); // =>"abc - 12345 - #$*%"
split()

參數(shù):用于分隔字符串的分隔符數(shù)字(可選,用于指定數(shù)組的大?。?/em>

作用:基于指定的分隔符將一個(gè)字符串分割成多個(gè)子字符串,并將結(jié)果放在一個(gè)數(shù)組中,分隔符可以是字符串,也可以是RegExp對象

var color = "red,blue,yellow,black";
var color1 = color.split(",");        // =>["red","blue","yellow","black"]
var color2 = color.split(",",2);    // =>["red","blue"]
var color3 = color.split(/[^,]+/); // =>["", ",", ",", ",", ""] 

最后一個(gè)調(diào)用split的時(shí)候,出現(xiàn)了前后的兩個(gè)空白,是因?yàn)橥ㄟ^正則表達(dá)式指定的分隔符出現(xiàn)在了字符串的開頭和結(jié)尾。

localeCompare()

這個(gè)方法用于比較兩個(gè)字符串,并返回下列值中的一個(gè):

如果字符串在字母表中應(yīng)該排在字符串參數(shù)之前,則返回負(fù)數(shù)(大多情況下為-1)

如果相等,則返回0

如果排在字符串參數(shù)之前,則返回正數(shù)(大多數(shù)情況下為1)

fromCharCode()

String構(gòu)造函數(shù)的一個(gè)靜態(tài)方法

參數(shù):一個(gè)或多個(gè)字符串編碼

作用:將接收到的一個(gè)或多個(gè)字符串編碼轉(zhuǎn)換成一個(gè)字符串,這個(gè)方法與實(shí)例方法charCodeAt()執(zhí)行相反的操作。

/*fromCharCode*/
String.fromCharCode(104,101,108,108,111);    // =>hello
/*charCodeAt*/
let s = "hello";
for(let i=0;i

最后寫一個(gè)字符串與數(shù)組方法應(yīng)用的一個(gè)例子,熟悉它們方法的話很簡單,不熟悉就會(huì)覺得有點(diǎn)兒亂。

let s = "hello";
let news = s.split("").reverse().join("");
console.log(news); // => "olleh"
另附j(luò)s中String和Array方法的總結(jié)圖:

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/90865.html

相關(guān)文章

  • JavaScript學(xué)習(xí)總結(jié)(一)基礎(chǔ)部分

    摘要:前綴規(guī)范每個(gè)局部變量都需要有一個(gè)類型前綴,按照類型可以分為表示字符串。例如,表示以上未涉及到的其他對象,例如,表示全局變量,例如,是一種區(qū)分大小寫的語言。布爾值與字符串相加將布爾值強(qiáng)制轉(zhuǎn)換為字符串。 基本概念 javascript是一門解釋型的語言,瀏覽器充當(dāng)解釋器。js執(zhí)行時(shí),在同一個(gè)作用域內(nèi)是先解釋再執(zhí)行。解釋的時(shí)候會(huì)編譯function和var這兩個(gè)關(guān)鍵詞定義的變量,編譯完成后從...

    AlanKeene 評論0 收藏0
  • JavaScript學(xué)習(xí)總結(jié)(六)數(shù)據(jù)類型和JSON格式

    摘要:并列數(shù)據(jù)的集合數(shù)組用方括號(hào)表示。第三種類型是映射,也就是一個(gè)名值對,即數(shù)據(jù)有一個(gè)名稱,還有一個(gè)與之相對應(yīng)的值,這又稱作散列或字典,比如首都北京。中有種簡單數(shù)據(jù)類型也稱為基本數(shù)據(jù)類型和。數(shù)值布爾值對象和字符串值都有方法。 什么是JSON JSON:JavaScript 對象表示法(JavaScript Object Notation)。 JSON的形式是用大括號(hào){}包圍起來的項(xiàng)目列表...

    laznrbfe 評論0 收藏0
  • Javascript檢查一個(gè)符串是否包含另一個(gè)符串方法總結(jié)

    摘要:代碼如下方法方法與類似,用來返回一個(gè)字符串在另一個(gè)字符串中的位置,如果沒找到那就返回。唯一需要注意的是,方法的參數(shù)是一個(gè)正則表達(dá)式。 站長博客:https://www.pipipi.net/ ES6 includes 方法當(dāng)包含時(shí)返回true,不包含時(shí)返回false,代碼實(shí)例如下: var string = foo; var substring1 = oo; ...

    pubdreamcc 評論0 收藏0
  • JavaScript 面向?qū)ο箝_發(fā)知識(shí)總結(jié)基礎(chǔ)篇

    摘要:字面形式允許你在不需要使用操作符和構(gòu)造函數(shù)顯式創(chuàng)建對象的情況下生成引用值。操作符以一個(gè)對象和一個(gè)構(gòu)造函數(shù)作為參數(shù)鑒別數(shù)組有前一小結(jié)可以知道鑒別數(shù)組類型可以使用。屬性是函數(shù)獨(dú)有的,表明該對象可以被執(zhí)行。這種函數(shù)被稱為匿名函數(shù)。 引子: 1.JavaScript 中的變量類型和類型檢測 1.1原始類型 1.2引用類型 1.3內(nèi)建類型的實(shí)例化 1.4函數(shù)的字面形式 1.5正則表達(dá)式的字...

    Kross 評論0 收藏0
  • 高程3總結(jié)#第20章JSON

    摘要:語法語法可以表示三種類型的值簡單值使用與相同的語法,可以在中表示字符串?dāng)?shù)值布爾值和。對象對象作為一種復(fù)雜數(shù)據(jù)類型,表示的是一組無序的鍵值對兒。如果字符串長度超過了個(gè),結(jié)果中將只出現(xiàn)前個(gè)字符。 JSON 語法 JSON語法可以表示三種類型的值 簡單值:使用與 JavaScript 相同的語法,可以在 JSON 中表示字符串、數(shù)值、布爾值和 null 。但 JSON 不支持 JavaS...

    Hwg 評論0 收藏0
  • JavaScript程序設(shè)計(jì)》—— 第四章 表達(dá)式語句章總結(jié)及練習(xí)

    摘要:語句包含聲明語句表達(dá)式語句條件語句循環(huán)語句和中斷語句我們可以將表達(dá)式的求值結(jié)果存儲(chǔ)在變量中,在將來提取它們。變量在使用之前應(yīng)當(dāng)聲明。程序員可以用語句顯式拋出異常。程序員需要保護(hù)自己總是明確使用分號(hào)來終結(jié)聲明語句。 主要總結(jié): 一個(gè)腳本就是一個(gè)語句序列,其中每條語句都會(huì)生成某一操作。JavaScript語句包含:聲明語句、表達(dá)式語句、條件語句、循環(huán)語句和中斷語句 我們可以將表達(dá)式的求...

    kaka 評論0 收藏0

發(fā)表評論

0條評論

最新活動(dòng)
閱讀需要支付1元查看
<