ES6數(shù)組、字符串操作

一、find()是一個(gè)查找回調(diào)函數(shù),用來(lái)查找目標(biāo)元素,找到數(shù)組中符合當(dāng)前搜索規(guī)則的第一個(gè)元素,返回它,并且終止搜索。找不到返回undefined。

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、微信小程序定制開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了蔡家坡免費(fèi)建站歡迎大家使用!

    查找函數(shù)有三個(gè)參數(shù)。
    value:每一次迭代查找的數(shù)組元素。
    index:每一次迭代查找的數(shù)組元素索引。
    arr:被查找的數(shù)組。
    [1, 2, 3, 4].find((value, index, arr) => {
        return  value > 3
    }) //4
    [1,2,3,4].find(value =>typeof value > 4) //undefined

二、findIndex()是一個(gè)查找回調(diào)函數(shù),用來(lái)查找目標(biāo)元素,找到數(shù)組中符合當(dāng)前搜索規(guī)則的第一個(gè)元素,返回它的下標(biāo),終止搜索。找不到就返回-1。

    查找函數(shù)有三個(gè)參數(shù)。
    value:每一次迭代查找的數(shù)組元素。
    index:每一次迭代查找的數(shù)組元素索引。
    arr:被查找的數(shù)組。
    [1, 2, 3, 4].findIndex((value, index, arr) => {
            return value > 3
    }) //3
    [1,2,3,4].findIndex(value =>typeof value > 4) //-1

三、fill()是一個(gè)替換函數(shù),用新元素替換掉數(shù)組內(nèi)的元素,可以指定替換下標(biāo)范圍。

    value:填充值。
    start:填充起始位置,可以省略。
    end:填充結(jié)束位置,可以省略,實(shí)際結(jié)束位置是end-1。
    arr.fill(value, start, end)
    [1,2,3,4,5].fill(7, 1, 3); //[1,7,7,7,5]

四、copyWithin()是一個(gè)復(fù)制函數(shù),在當(dāng)前數(shù)組內(nèi)部,將指定位置的成員復(fù)制到其他位置(會(huì)覆蓋原有成員),然后返回當(dāng)前數(shù)組。也就是說(shuō),使用這個(gè)方法,會(huì)修改當(dāng)前數(shù)組。

    target (必需):從該位置開(kāi)始替換數(shù)據(jù)。
    start (可選):從該位置開(kāi)始讀取數(shù)據(jù),默認(rèn)為 0 。如果為負(fù)值,表示倒數(shù)。
    end (可選):到該位置前停止讀取數(shù)據(jù),默認(rèn)等于數(shù)組長(zhǎng)度。如果為負(fù)值,表示倒數(shù)。
    arr.copyWithin(target, start = 0, end = this.length)
    [1, 2, 3, 4, 5].copyWithin(0, 3, 4);  、 [1, 2, 3, 4, 5].copyWithin(0, -2, -1);  
    //[4,2,3,4,5]將3號(hào)位復(fù)制到0號(hào)位

五、push()方法可向數(shù)組的末尾添加一個(gè)或多個(gè)元素,并返回新的長(zhǎng)度。

    let arr = [1,2,3];
    var les = arr.push('a');
    //arr = [1,2,3,'a']
    //les = 4

六、unshift()方法是向數(shù)組的開(kāi)頭添加一個(gè)或多個(gè)元素,并且返回新的長(zhǎng)度。

    let arr = Array.of(1,2,3);
    let res = arr.unshift('a');
    //arr = ['a', 1, 2, 3] 、res = 4

七、pop()方法用于刪除并返回?cái)?shù)組的最后一個(gè)元素。如果數(shù)組是空的,pop()方法將不進(jìn)行任何操作,返回undefined的值。

    let arr = ['a','b','c'];
  let resEle = arr.pop();
    //arr = [ 'a',' b' ] 、resEle = c

八、shift()方法用于刪除并返回?cái)?shù)組的第一個(gè)元素。如果數(shù)組是空的,shift()方法將不進(jìn)行任何操作,返回undefined的值。

    let arr = ['a','b','c'];
    let res = arr.shift();
    //arr = ['b','c'] 、res = a

九、concat()方法用于連接兩個(gè)或多個(gè)數(shù)組。該方法不會(huì)改變現(xiàn)有的數(shù)組,而僅僅會(huì)返回被連接數(shù)組的一個(gè)副本。

    let arr = [1,2,3];
    let arr2 = [1,2,3];
    let resArr = arr.concat(arr2);
    //arr = [1,2,3] 、arr2 = [1,2,3] 、resArr = [1,2,3,1,2,3]

十、join()方法用于把數(shù)組中的所有元素放入一個(gè)字符串。元素是通過(guò)指定的分隔符進(jìn)行分隔的。

    let arr = [1,2,3];
    let resStr = arr.join(",");
    //arr = [ 1, 2, 3 ] 、resStr = 1,2,3

十一、sort()方法用于對(duì)數(shù)組的元素進(jìn)行排序。

    排序不是按整型大小,而是字符串對(duì)比,取第一個(gè)字符的ANSI碼對(duì)比,小的排前面,相同的話取第二個(gè)字符再比:
    let arr = Array.of(3, 11, 8);
    let res = arr.sort();
    //arr = [ 11, 3, 8 ] 、res = [11, 3, 8]
    要按整型數(shù)值比較,可以這樣:
    let arr = Array.of(3, 11, 8);
    let res = arr.sort((a, b) => a - b);
    //arr = [ 3, 8, 11 ] 、res = [3, 8, 11]

十二、reverse()方法用于顛倒數(shù)組中元素的順序。

    let arr = Array.of(3, 11, 8, 9);
    let res = arr.reverse();
    //arr = [ 9, 8, 11, 3 ] 、res = [9, 8, 11, 3]

十三、Array.of()與Array()的異同,生成數(shù)組,當(dāng)傳入單個(gè)參數(shù)時(shí),Array()的行為表現(xiàn)的不統(tǒng)一。Array.of的行為很統(tǒng)一。

    Array.of() // []
    Array.of(3) // [ 3 ]
    Array.of(3, 11, 8) // [ 3, 11, 8 ]
    Array.of(undefined) // [undefined]
    Array() // []
    Array(3) // [ , ,  ]
    Array(3, 11, 8) // [ 3, 11, 8 ]

十四、splice()方法用于刪除元素/添加新元素。

    函數(shù)有三個(gè)參數(shù):
    start: 開(kāi)始操作的索引
    deleteCount:要移除的數(shù)組元素的個(gè)數(shù)
    item:要添加進(jìn)數(shù)組的元素,如果不指定,則splice只刪除數(shù)組元素
    array.splice(start,deleteCount,item);

十五、slice()方法用于復(fù)制數(shù)組元素到新數(shù)組。

    函數(shù)有二個(gè)參數(shù):
    start: 開(kāi)始操作的索引
    end:結(jié)束操作的索引
    注:start <= newArray < end
    array.slice(start, end)
    let arr = Array.of(1,2,3,4,5);
    let res = arr.slice(1,3);
    //arr = [1,2,3,4,5] 、res = [2,3]

十六、includes()方法用于從一維數(shù)組或字符串中查找某指定的值,如果有,則返回true,否則false。

    方法有二個(gè)參數(shù):
    value:查找的值
    start(可選):開(kāi)始向后查詢(xún)的索引,
    arr.includes(value, start);

十七、startsWith()方法用于從字符串中正序查找某指定的值,如果有,則返回true,否則false。

    方法有二個(gè)參數(shù):
    walue:查找的值
    start(可選):開(kāi)始向后查詢(xún)的索引
    arr.startsWith(value,start);

十八、endsWith()方法用于從字符串中倒序查找某指定的值,如果有,則返回true,否則false。

    方法有二個(gè)參數(shù):
    value:查找的值
    end(可選):開(kāi)始向前查詢(xún)的索引(倒序的索引)
    arr.endsWith(value,end);

十九、indexOf()方法用于從一維數(shù)組或字符串中查詢(xún)某指定的值,如果有,則返回元素所在索引,否則返回-1。

    方法有二個(gè)參數(shù):
    value:查找的值
    start(可選):開(kāi)始查詢(xún)的索引位置(默認(rèn)正序查詢(xún),負(fù)值倒序查詢(xún))
    arr.indexOf(value,start);

二十、lastIndexOf()方法用于從一維數(shù)組或字符串中倒序查詢(xún)某指定的值,如果有,則返回元素所在索引,否則返回-1。

    方法有二個(gè)參數(shù):
    value:查詢(xún)的值
    start(可選):開(kāi)始查詢(xún)的索引位置(倒序索引位置)
    arr.lastIndexOf(value,start);

二一、forEach()方法用于遍歷數(shù)組。

    函數(shù)有三個(gè)參數(shù):
    value:表示當(dāng)前項(xiàng)的值,
    key:表示當(dāng)前索引,
    item:表示數(shù)組本身
    array.forEach((value, key, item) => {})

二二、every()和 some()方法用于確定數(shù)組的所有成員是否滿足指定的測(cè)試。

    every()一假即假,必須所有都返回true才會(huì)返回true;
    some()一真即真,只要其中一個(gè)為true 就會(huì)返回true ;
    方法有三個(gè)參數(shù):
    value:表示當(dāng)前項(xiàng)的值;
    key:表示當(dāng)前的索引;
    item:表示數(shù)組本身
    const arr = [
        {name:"Apple",ram:8},
        {name:"IBM",ram:4},
        {name:"Acer",ram:32},
    ];
    var result= arr.every((value,key,item) => {
            return value.ram > 16
    })   //false;
    var some = arr.some((value,key,item) => {
            return value.ram > 16
    })   //true

let和const都能夠聲明塊級(jí)作用域,都是在當(dāng)前塊內(nèi)有效,執(zhí)行到塊外會(huì)被銷(xiāo)毀,也不存在變量提升(TDZ)。
let的特點(diǎn)是不會(huì)變量提升,而是被鎖在當(dāng)前塊中。
const 聲明常量,一旦聲明,不可更改,而且常量必須初始化賦值。 const雖然是常量,不允許修改默認(rèn)賦值,但如果定義的是對(duì)象Object,那么可以修改對(duì)象內(nèi)部的屬性值。

名稱(chēng)欄目:ES6數(shù)組、字符串操作
標(biāo)題網(wǎng)址:http://www.muchs.cn/article6/pgdpog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供全網(wǎng)營(yíng)銷(xiāo)推廣、關(guān)鍵詞優(yōu)化、網(wǎng)站導(dǎo)航、企業(yè)建站網(wǎng)站收錄、軟件開(kāi)發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名