溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

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

發(fā)布時間:2020-06-05 15:55:29 來源:網(wǎng)絡 閱讀:581 作者:天師110 欄目:web開發(fā)

一、find()是一個查找回調函數(shù),用來查找目標元素,找到數(shù)組中符合當前搜索規(guī)則的第一個元素,返回它,并且終止搜索。找不到返回undefined。

    查找函數(shù)有三個參數(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()是一個查找回調函數(shù),用來查找目標元素,找到數(shù)組中符合當前搜索規(guī)則的第一個元素,返回它的下標,終止搜索。找不到就返回-1。

    查找函數(shù)有三個參數(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()是一個替換函數(shù),用新元素替換掉數(shù)組內的元素,可以指定替換下標范圍。

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

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

    target (必需):從該位置開始替換數(shù)據(jù)。
    start (可選):從該位置開始讀取數(shù)據(jù),默認為 0 。如果為負值,表示倒數(shù)。
    end (可選):到該位置前停止讀取數(shù)據(jù),默認等于數(shù)組長度。如果為負值,表示倒數(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號位復制到0號位

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

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

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

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

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

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

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

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

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

    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ù)組中的所有元素放入一個字符串。元素是通過指定的分隔符進行分隔的。

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

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

    排序不是按整型大小,而是字符串對比,取第一個字符的ANSI碼對比,小的排前面,相同的話取第二個字符再比:
    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ù)組,當傳入單個參數(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ù)有三個參數(shù):
    start: 開始操作的索引
    deleteCount:要移除的數(shù)組元素的個數(shù)
    item:要添加進數(shù)組的元素,如果不指定,則splice只刪除數(shù)組元素
    array.splice(start,deleteCount,item);

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

    函數(shù)有二個參數(shù):
    start: 開始操作的索引
    end:結束操作的索引
    注: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。

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

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

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

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

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

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

    方法有二個參數(shù):
    value:查找的值
    start(可選):開始查詢的索引位置(默認正序查詢,負值倒序查詢)
    arr.indexOf(value,start);

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

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

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

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

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

    every()一假即假,必須所有都返回true才會返回true;
    some()一真即真,只要其中一個為true 就會返回true ;
    方法有三個參數(shù):
    value:表示當前項的值;
    key:表示當前的索引;
    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都能夠聲明塊級作用域,都是在當前塊內有效,執(zhí)行到塊外會被銷毀,也不存在變量提升(TDZ)。
let的特點是不會變量提升,而是被鎖在當前塊中。
const 聲明常量,一旦聲明,不可更改,而且常量必須初始化賦值。 const雖然是常量,不允許修改默認賦值,但如果定義的是對象Object,那么可以修改對象內部的屬性值。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。

AI