js-數(shù)組和字符串-常用操作

寫此文原因: 1.快速復(fù)習(xí) 2.數(shù)組太多操作,防止混淆

常用數(shù)組操作

splice():此方法通過刪除現(xiàn)有元素和/或添加新元素來更改數(shù)組的內(nèi)容.

  • 注意: splice() 方法與 slice() 方法的作用是不同的,splice() 方法會(huì)直接對(duì)數(shù)組進(jìn)行修改。
  • 返回值
    由被刪除的元素組成的一個(gè)數(shù)組。如果只刪除了一個(gè)元素,則返回只包含一個(gè)元素的數(shù)組。如果沒有刪除元素,則返回空數(shù)組。

實(shí)例:

var myFish = ["angel", "clown", "mandarin", "surgeon"];

//從第 2 位開始刪除 0 個(gè)元素,插入 "drum"
var removed = myFish.splice(2, 0, "drum");
//運(yùn)算后的 myFish:["angel", "clown", "drum", "mandarin", "surgeon"]
//被刪除元素?cái)?shù)組:[],沒有元素被刪除

slice():此方法返回一個(gè)從開始到結(jié)束(不包括結(jié)束)選擇的數(shù)組的一部分淺拷貝到一個(gè)新數(shù)組對(duì)象,原始數(shù)組不會(huì)被修改.
截取數(shù)組里的部分元素

示例:

var fruits = ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango'];
var citrus = fruits.slice(1, 3);

// fruit  輸出 ['Banana', 'Orange', 'Lemon', 'Apple', 'Mango']:原始數(shù)組不會(huì)被修改
// citrus 輸出 ['Orange','Lemon']


**push(): **此方法將一個(gè)或多個(gè)元素添加到數(shù)組的末尾,并返回?cái)?shù)組的新長度.
在數(shù)組里新增元素

  • 返回值
    返回新數(shù)組的長度,即:length的值.

示例:

var sports = ["soccer", "baseball"];
var total = sports.push("football", "swimming");

console.log(sports); 
// ["soccer", "baseball", "football", "swimming"]

console.log(total); 
// 4

concat(): 方法用于合并兩個(gè)或多個(gè)數(shù)組,此方法不會(huì)更改現(xiàn)有數(shù)組,而是返回一個(gè)新數(shù)組.
連接2個(gè)或多個(gè)數(shù)組,返回新數(shù)組

  • 返回值
    新的Array實(shí)例

示例:

連接兩個(gè)數(shù)組
下面的代碼演示兩個(gè)數(shù)組合并為一個(gè)新數(shù)組:
var alpha = ["a", "b", "c"];
var numeric = [1, 2, 3];

// 組成新數(shù)組 ["a", "b", "c", 1, 2, 3]; 原數(shù)組 alpha 和 numeric 未被修改
var alphaNumeric = alpha.concat(numeric);

join():方法將數(shù)組(或一類數(shù)組對(duì)象)的所有元素連接到一個(gè)字符串
數(shù)組以符號(hào)分割,轉(zhuǎn)為字符串

  • join() 方法,不會(huì)改變數(shù)組

**例子: **

下例首先創(chuàng)建了一個(gè)數(shù)組 a,包含有三個(gè)元素,然后用四種不同的分隔符連接所有數(shù)組元素。
var a = ['Wind', 'Rain', 'Fire'];
var myVar1 = a.join();      // myVar1的值變?yōu)?Wind,Rain,Fire"
var myVar2 = a.join(', ');  // myVar2的值變?yōu)?Wind, Rain, Fire"
var myVar3 = a.join(' + '); // myVar3的值變?yōu)?Wind + Rain + Fire"
var myVar4 = a.join('');    // myVar4的值變?yōu)?WindRainFire"

常用字符串操作

slice():提取字符串的一部分

例子

使用 slice() 創(chuàng)建一個(gè)新的字符串
下面例子使用 slice() 來創(chuàng)建新字符串:

var str1 = 'The morning is upon us.';
var str2 = str1.slice(4, -2);

console.log(str2); // OUTPUT: morning is upon u

**split() **方法將一個(gè)String對(duì)象分割成字符串?dāng)?shù)組,通過
將字符串分成子串

  • 當(dāng)字符串為空時(shí),split 返回一個(gè)包含一個(gè)空字符串的數(shù)組,而不是一個(gè)空數(shù)組。
"Webkit Moz O ms Khtml".split( " " )  
// ["Webkit", "Moz", "O", "ms", "Khtml"]
以空格分割.

**substring() **方法返回一個(gè)字符串在開始索引到結(jié)束索引之間的一個(gè)子集, 或從開始索引直到字符串的末尾的一個(gè)子集

var anyString = "Mozilla";

// 輸出 "Moz"
console.log(anyString.substring(0,3));

**replace()
**方法返回一個(gè)由替換值替換一些或所有匹配的模式后的新字符串。模式可以是一個(gè)字符串或者一個(gè)[正則表達(dá)式]替換值可以是一個(gè)字符串或者一個(gè)每次匹配都要調(diào)用的函數(shù)。

var str = 'abcdeabcde';
console.log(str.replace('a', 'A'));//‘Abcdeabcde';部分替換
console.log(str.replace(/a/, 'A'));
如果第一個(gè)參數(shù)傳入的全局匹配的正則表達(dá)式,
那么replace()將會(huì)對(duì)符合條件的子字符串進(jìn)行多次替換,
最后返回經(jīng)過多次替換的結(jié)果字符串。

var str = 'abcdeabcdeABCDE'; 
console.log(str.replace(/a/gi, '));    //返回AbcdeAbcdeABCDE
console.log(str.replace(/a/g, 'A'));  //返回$bcde$bcde$BCDE


最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容