js操作物件 字串 陣列的方法(二)

2021-09-02 02:10:41 字數 4080 閱讀 2820

var str='abcd1235玩2432';

1.charat 返回指定索引出的字元 (不改變原來的字串)

var a=str.charat(0);

console.log(a); //'a'

console.log(str); //'abcd'

2.charcodeat 返回指定索引出的unicode字元 (獲取unicode編碼)

str.charcodeat(0);   //97
3.indexof  判斷乙個字元第一次出現在某個字串的索引,如果包含返回它的索引,如果不包含返回-1.

str.indexof('a');     //0

str.indexof('e');     //-1

4.lastindexof 判斷乙個字元最後一次出現在某個字串的索引,如果包含返回它的索引,如果不包含返回-1.

str.lastindexof('b');   //1

str.lastindexof('e');   //-1

5.concat拼接2個字串,返回乙個新字串,對原有字串沒有任何改變。

var str='qwe';

var str1='abc';

var str2=str.concat(str1);

console.log(str2);//"qweabc"

6.substr(n,m) 從索引n開始,擷取m個字元,將擷取的字元返回,對原字串沒有任何改變。

var b=s.substr(1,1)

console.log(b);  //'w'

7.substring(n,m)   從索引n開始,擷取到索引m,不包括m.將擷取的字元返回,對原字串沒有任何改變.

var ee=str.substring(1,3);

console.log(ee);  //"bc"

8.slice(n,m)   從索引n開始,擷取到索引m,不包括m.將擷取的字元返回,對原字串沒有任何改變.

var aa=str.slice(0,3);

console.log(aa);//'abc'

9.split  用指定字元分割字串,返回乙個陣列.對原字串沒有任何改變。

var a=str.split('');

console.log(a);  //["a", "b", "c", "d"]

10.replace('a',1);  替換指定字元,返回替換後新的字串,對原有字串有改變。(第乙個引數可以是正規表示式) 只能替換一次 ,配合正則模式修飾符g使用

var str='aaaaee';

var reg=/a/g;

str.replace(reg,1);   //"1111ee"

11.match() 可在字串內檢索指定的值,或找到乙個或多個正規表示式的匹配。把找到的字元放在陣列裡,返回乙個陣列。

var str='aaaa3ed33';

var reg=/a/g;

str.match(reg);  //["a", "a", "a", "a"]

12.search() 方法用於檢索字串中指定的子字串,或檢索與正規表示式相匹配的子字串。

es6新增加的方法

1.codepointat()  能夠正確處理4個位元組儲存的字元,返回指定索引出乙個字元的碼點。codepointat方法是測試乙個字元由兩個位元組還是由四個位元組組成的最簡單方法。

var s = '?a';

s.codepointat(0) // 134071

s.codepointat(1) // 57271

codepointat方法返回的是碼點的十進位制值,如果想要十六進製制的值,可以使用tostring方法轉換一下。

var s = '?a';

s.codepointat(0).tostring(16) // "20bb7"

s.codepointat(2).tostring(16) // "61"不能識別32位的utf-16字元

配合for...of迴圈使用,因為它會正確識別32位的utf-16字元。

var s = '?a';

for (let ch of s)

// 20bb7

// 61

2.codepointat用於從碼點返回對應字元,但是這個方法不能識別32位的utf-16字元(unicode編號大於0xffff)。

string.fromcodepoint(0x20bb7)

// "?"

string.fromcodepoint(0x78, 0x1f680, 0x79) === 'x\ud83d\ude80y'

// true

for (let codepoint of 'foo') 

// "f"

// "o"

// "o"

4.at()  返回指定索引處的字元

'abc'.at(0) // "a"

'?'.at(0) // "?"

5.includes():返回布林值,表示是否找到了引數字串。這三個方法都支援第二個引數,表示開始搜尋的位置。

6.startswith():返回布林值,表示引數字串是否在源字串的頭部。這三個方法都支援第二個引數,表示開始搜尋的位置。

7.endswith():返回布林值,表示引數字串是否在源字串的尾部。這三個方法都支援第二個引數,表示開始搜尋的位置。

var s = 'hello world!';

s.startswith('world', 6) // true

s.endswith('hello', 5) // true

s.includes('hello', 6) // false

8.repeat()  方法返回乙個新字串,表示將原字串重複n次。

'x'.repeat(3) // "***"

'hello'.repeat(2) // "hellohello"

'na'.repeat(0) // ""

9.padstart(),padend()字串補全長度的功能

padstart()用於頭部補全

padend()用於尾部補全

padstartpadend一共接受兩個引數,第乙個引數用來指定字串的最小長度,第二個引數是用來補全的字串。

'x'.padstart(5, 'ab') // 'ababx'

'x'.padstart(4, 'ab') // 'abax'

'x'.padend(5, 'ab') // 'xabab'

'x'.padend(4, 'ab') // 'xaba'

如果原字串的長度,等於或大於指定的最小長度,則返回原字串。

'***'.padstart(2, 'ab') // '***'

'***'.padend(2, 'ab') // '***'

如果用來補全的字串與原字串,兩者的長度之和超過了指定的最小長度,則會截去超出位數的補全字串。

'abc'.padstart(10, '0123456789')
如果省略第二個引數,預設使用空格補全長度。

'x'.padstart(4) // '   x'

'x'.padend(4) // 'x '

js操作物件 字串 陣列的方法(一)

總結一下前端js操作物件 陣列 字串的一些方法 可能不全面後續遇見會補充 一 遍歷陣列和物件 1 for迴圈 const arr 1,2,3,4,5,6 for let i 0 i arr.length i 同樣for 迴圈也可以遍歷物件遍歷物件的時候可以用 for in方法 const obj f...

js遍歷陣列 字串 物件的方法 二

然後介紹一下遍歷物件的方法 1.for.in 迴圈 取鍵名 以任意順序遍歷乙個物件的可列舉屬性,同時可以進行操作 2.建構函式object裡面自帶的方法object.keys 取jianming 不要問我得到這個陣列有什麼用,遍歷陣列的方法用起來,obj key 豈不是為所欲為 3.es6新增的ob...

js操作字串陣列

1.建立字串陣列 var str 2.清空str str.splice 0,str.length 3.新增值 str.push a 4.取值 for迴圈str i 5.判斷乙個字串陣列中是否包含乙個字串,如有則返回位置 inarray a str 如果等於 1 則表示不包含,否則返回的是位置 或是把...