亚洲中字慕日产2020,大陆极品少妇内射AAAAAA,无码av大香线蕉伊人久久,久久精品国产亚洲av麻豆网站

資訊專欄INFORMATION COLUMN

javescript經(jīng)驗(yàn)文檔(Array篇)

XFLY / 2735人閱讀

摘要:返回結(jié)果注意方法返回的是數(shù)組長度,如上示例,返回值為方法把一個(gè)或多個(gè)參數(shù)插入到數(shù)組頭部,返回?cái)?shù)組長度。整數(shù),規(guī)定添加刪除項(xiàng)目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。返回值類型描述包含被刪除項(xiàng)目的新數(shù)組,如果有的話。

數(shù)組去重 ...set(array)去重
{
    let array = ["aa",12,"aa",16,12,"ab"];
    function dedupe(array) { //es6
        return [...new Set(array)] 
    }
    dedupe(array);
    //等價(jià)于
    Array.from(new Set(array));
}
array.filter()方法去重
{
    let array = ["aa",12,"aa",16,12,"ab"];
    array.filter((item, index) => {
        return array.indexOf(item) == index;
    });
}
數(shù)組翻轉(zhuǎn)

reverse()

{
    let arr = ["a","b","c",1,3];
    arr.reverse(); 
}

返回結(jié)果: [3, 1, "c", "b", "a"]

連接兩個(gè)或多個(gè)數(shù)組 concat() 方法

concat() 方法用于連接兩個(gè)或多個(gè)數(shù)組,該方法不會(huì)改變現(xiàn)有的數(shù)組,而僅僅會(huì)返回被連接數(shù)組的一個(gè)副本
arr0.concat(arr1, arr2, arr3, ......, arrx);
例:

{
    [1,2,3].concat(4,5)
    
    [1,2,3].concat([4,5],6)
    
    [1,2,3].concat([4,5],[6,7,8])
}

返回結(jié)果:
[1, 2, 3, 4, 5]
[1, 2, 3, 4, 5, 6]
[1, 2, 3, 4, 5, 6, 7, 8]

... 方法

es6 擴(kuò)展運(yùn)算符,最簡單的寫法,一萬個(gè)推薦!?。?/p>

{
    let arr = ["1s","2s","3s",4];
    let arr2 = ["1a","2a"];
    console.log([...arr,...arr2]);
}

返回結(jié)果:["1s", "2s", "3s", 4, "1a", "2a"]

push() 方法

push()把一個(gè)或多個(gè)參數(shù)附加在數(shù)組末尾,返回?cái)?shù)組長度。改變數(shù)組自身。

{
    let a = ["a","b","v"];
    let b = ["c","d","g"];
    a.push(...b)
    console.log(a)
}

返回結(jié)果:["a", "b", "v", "c", "d", "g"]
注意: push()方法返回的是數(shù)組長度,如上示例,console.log(a.push(...b))返回值為6

unshift() 方法

unshift()把一個(gè)或多個(gè)參數(shù)插入到數(shù)組頭部,返回?cái)?shù)組長度。改變數(shù)組自身。

{
    let arr = [1, 2, 3];
    let count = arr.unshift(4, 5);

    console.log(count); 
    console.log(arr); 
}

返回結(jié)果:
5
[4, 5, 1, 2, 3]

數(shù)組與字符串相互轉(zhuǎn)化 數(shù)組轉(zhuǎn)字符串

join()方法,Array.join(標(biāo)識(shí)符)

{
    ["as2",12,"ss"].join("/");
}

返回結(jié)果:"as2/12/ss"

字符串轉(zhuǎn)數(shù)組

split()方法,string.split(標(biāo)識(shí)符)

{
    "as2/12/ss".split("/")
}

返回結(jié)果:["as2", "12", "ss"]

數(shù)組刪除、插入、替換

arrayObject.splice(index,howmany,item1,.....,itemX)

參數(shù)描述:
index:必需。整數(shù),規(guī)定添加/刪除項(xiàng)目的位置,使用負(fù)數(shù)可從數(shù)組結(jié)尾處規(guī)定位置。
howmany:必需。要?jiǎng)h除的項(xiàng)目數(shù)量。如果設(shè)置為 0,則不會(huì)刪除項(xiàng)目。
item1, ..., itemX 可選。向數(shù)組添加的新項(xiàng)目。
返回值:
類型描述:Array 包含被刪除項(xiàng)目的新數(shù)組,如果有的話。
說明:splice() 方法可刪除從 index 處開始的零個(gè)或多個(gè)元素,并且用參數(shù)列表中聲明的一個(gè)或多個(gè)值來替換那些被刪除的元素。

如果從 arrayObject 中刪除了元素,則返回的是含有被刪除的元素的數(shù)組。

splice插入操作

示例:在 aa 和 bb 之間插入 aabb

{
    let str = ["aa","bb",123,"sd13cx","jj",45];
    str.splice(1,0,"aabb");
    console.log(str)
}

返回結(jié)果:["aa", "aabb", "bb", 123, "sd13cx", "jj", 45]

拓展練習(xí)

在 aa 和 bb 之間批量插入 ab、aabb、aaabbb
{

let str = ["aa","bb",123,"sd13cx","jj",45];
str.splice(1,0,"ab","aabb","aaabbb");
console.log(str);

}
返回結(jié)果:["aa", "ab", "aabb", "aaabbb", "bb", 123, "sd13cx", "jj", 45]

深層拓展

es6方法,使用‘...’擴(kuò)展運(yùn)算符

{
    let str = ["aa","bb",123,"sd13cx","jj",45];
    let arr = ["ab","aabb","aaabbb"];
    //巧用es6 "..."
    str.splice(1,0,...arr);
    console.log(str);
}
splice替換操作

示例:把 123 替換為 ccdd

{
    let str = ["aa","bb",123,"sd13cx","jj",45];
    str.splice(2,1,"ccdd");
    console.log(str)
}

返回結(jié)果:["aa", "bb", "ccdd", "sd13cx", "jj", 45]

拓展練習(xí)

把 123 替換為 1234、12345

{
    let str = ["aa","bb",123,"sd13cx","jj",45];
    str.splice(2,1,1234,12345);
    console.log(str);
}

返回結(jié)果:["aa", "bb", 1234, 12345, "sd13cx", "jj", 45]

splice刪除操作

示例:把 123 刪除

{
    let str = ["aa","bb",123,"sd13cx","jj",45];
    str.splice(2,1);
    console.log(str)
}
delete刪除操作
{
    let arr = ["aaa",111,222];
    delete arr[1]
    console.log(arr,arr.length)
    //delete 只刪除值,不刪除引用空間
}

返回結(jié)果:["aaa", empty, 222] 3

數(shù)組排序 冒泡排序
{
    let array = [1,4,-8,-3,6,12,9,8];
    let bubbleSort = function(arr){
        for(let i = 0;i < arr.length-1;i++){
            for(let j = 0;j < arr.length-i-1;j++){
                if(arr[j] < arr[j+1]){
                    let temp = arr[j];
                    arr[j] = arr[j+1];
                    arr[j+1] = temp;
                }
            }
        }
        return arr;
    }
    bubbleSort(array);
}    

(1)比較相鄰的元素。如果第一個(gè)比第二個(gè)大,就交換他們兩個(gè)位置。
(2)對(duì)每一對(duì)相鄰元素作同樣的工作,從開始第一對(duì)到結(jié)尾的最后一對(duì)。在這一點(diǎn),最后的元素應(yīng)該會(huì)是最大的數(shù)。
(3)針對(duì)所有的元素重復(fù)以上的步驟,除了最后一個(gè)。
(4)持續(xù)每次對(duì)越來越少的元素重復(fù)上面的步驟,直到?jīng)]有任何一對(duì)數(shù)字需要比較。

快速排序排序
{
    //遞歸思想,兩邊快速的排序,冒泡排序的改進(jìn)
    let array = [1,4,-8,-3,6,12,9,8];
    let quickSort = function(arr){
        if(arr.length <= 1){
            return arr;
        }
        let index = Math.floor(arr.length/2);
        let temp = arr.splice(index,1);
        let left = [],right = [];
        for(let item of arr){
            if(item < temp){
                left.push(item);
            }else{
                right.push(item);
            }
        }
        return quickSort(left).concat(temp,quickSort(right));
    }
    quickSort(array);
}

Math.floor(x)方法是向下取整,返回小于或等于x的最接近的整數(shù)。

splice(index,num,item)方法是向數(shù)組中添加項(xiàng)目,或是從數(shù)組中刪除項(xiàng)目,并返回被刪除的項(xiàng)目。

index是整數(shù),被操作項(xiàng)目所在的位置(必須)
num是整數(shù),要?jiǎng)h除的項(xiàng)目的數(shù)量,如果為0,表示不刪除(必須)
item是向數(shù)組中添加的新項(xiàng)目,可以是多個(gè)(可選)
push()方法是向數(shù)組末尾添加一個(gè)或多個(gè)新項(xiàng)目并返回新數(shù)組的長度

concat()方法連接兩個(gè)或多個(gè)數(shù)組,不會(huì)改變?cè)袛?shù)組,返回一個(gè)新數(shù)組

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

轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/97013.html

相關(guān)文章

  • javescript經(jīng)驗(yàn)文檔(循環(huán)語句

    摘要:循環(huán)語句一般循環(huán)方法注意在使用遍歷數(shù)組之前一定要判斷數(shù)組是否已經(jīng)定義用的方法遍歷數(shù)組對(duì)對(duì)象操作為對(duì)象的鍵用的方法總結(jié)來說總是得到對(duì)像的或數(shù)組字符串的下標(biāo)而和一樣是直接得到值。所以,不能對(duì)象用循環(huán)循環(huán) 循環(huán)語句 一般for循環(huán) { let array = [1,2,3,4,5,6,7]; for (let i = 0; i < array.length; i++) ...

    BearyChat 評(píng)論0 收藏0
  • javescript經(jīng)驗(yàn)文檔(es6/es2017

    摘要:迭代器西紅柿孫雙雙結(jié)果西紅柿孫雙雙生成器西紅柿炒蛋結(jié)果西紅柿孫雙雙模版字符串普通字符串多行字符串字符串中嵌入變量函數(shù)的參數(shù)默認(rèn)值之前,當(dāng)未傳入?yún)?shù)時(shí),操作符當(dāng)被用于迭代器中時(shí),它是一個(gè)操作符當(dāng)被用于函數(shù)傳參時(shí),是一個(gè)操作符當(dāng)被用于函 迭代器 - Iterators { use strict function chef(foods){ let i = 0;...

    fyber 評(píng)論0 收藏0
  • javescript經(jīng)驗(yàn)文檔(Object

    摘要:判斷自身屬性是否存在方法返回一個(gè)布爾值,判斷對(duì)象是否包含特定的自身非繼承屬性。 判斷自身屬性是否存在 hasOwnProperty()方法返回一個(gè)布爾值,判斷對(duì)象是否包含特定的自身(非繼承)屬性。 { let obj = {a:1,b:2}; obj.hasOwnProperty(a) } 返回結(jié)果:true

    developerworks 評(píng)論0 收藏0
  • javescript經(jīng)驗(yàn)文檔(技巧

    摘要:與用來賦值的奇怪用法如果存在,反之則相當(dāng)于注意強(qiáng)烈要求注意一下,如果的值為,那么就要詳細(xì)的考慮一下,因?yàn)榍f不要玩脫了與判斷奇偶隱式返回值注意一哈,這里是括號(hào) && 與 || 用來賦值的奇怪用法 o_0 let a = x || y; // 如果 x 存在, a = x,反之則 a = y;相當(dāng)于 if(x){ let a = x; ...

    jzman 評(píng)論0 收藏0
  • JavaScript中的數(shù)組

    摘要:數(shù)組數(shù)組概述數(shù)組是什么數(shù)組是值的有序集合數(shù)組中的每一個(gè)值叫做一個(gè)元素而每個(gè)元素在數(shù)組中都有一個(gè)唯一的位置這個(gè)位置用數(shù)字表示叫做索引數(shù)組用字符串表示叫做關(guān)聯(lián)數(shù)組數(shù)組是無類型的數(shù)組的元素可以是任何類型例如字符串?dāng)?shù)字值布爾值等而且每個(gè)數(shù)組中的不同 數(shù)組 數(shù)組概述 數(shù)組是什么 數(shù)組是值的有序集合 數(shù)組中的每一個(gè)值叫做一個(gè)元素 而每個(gè)元素在數(shù)組中都有一個(gè)唯一的位置這個(gè)位置用數(shù)字表示 叫做索引數(shù)組...

    Genng 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

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