亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > JavaScript > 正文

Javascript中數組方法匯總(推薦)

2019-11-20 12:47:48
字體:
來源:轉載
供稿:網友

Array.prototype中定義了很多操作數組的方法,下面介紹ECMAScript3中的一些方法

1.Array.join()方法

該方法將數組中的元素都轉化為字符串并按照指定符號連接到一起,返回最后生成的字符串,可以包含一個參數,為連接數組元素的符號,默認為逗號。

var ay = [1,2,3];ay.join();       // =>"1,2,3" ay.join("+");     // => "1+2+3" ay.join(" ");     // =>"1 2 3"ay.join("");      // =>"123"var by = new Array(10) //新建一個長度為10的空數組by.join("-");      //=> "---------" 連接10個空元素

2.Array.reverse()方法

該方法將數組中的元素顛倒順序,返回逆序的數組,該方法會改變當前數組,不會創建新數組。

復制代碼 代碼如下:

var a = [1,2,3];
a.reverse().join();    //=>"3,2,1" ,此時a=[3,2,1]   

3.Array.sort()方法

該方法將數組中的元素排序并返回排序后的數組。當sort()方法不帶參數時,數組按照字母表順序排序,如果數組包含undefined元素,會排到數組尾部。

復制代碼 代碼如下:

var as = ["banana","cherry","apple"];
as.sort();
as.join("+ ");          //=>"apple+ banana+ cherry"

我們也可以給sort()方法傳入一個比較函數作為參數,讓數組以指定的比較函數進行排序。比較函數返回值小于0,則第一個參數在前,相反返回值大于0,則第二個參數在前,兩個參數值相等,則返回0

復制代碼 代碼如下:

var sy = [1111,222,4,33];
sy.sort();                               //=>"1111,222,33,4"
sy.sort(function(a,b){
            return a-b;
});                                        //=> "4,33,222,1111"

注:這里使用匿名函數最合適,因為只調用一次,無需指定函數名稱

4.Array.concat()方法

該方法創建并返回一個新數組,連接原數組元素和方法中每個元素,組成一個新數組。該方法不會遞歸調用方法中的參數。

復制代碼 代碼如下:

var a = [1,2,3];
a.concat(4,5);             //=>"1,2,3,4,5"
a.concat([4,5]);           //=>"1,2,3,4,5"
a.concat([4,5],[6,7]);  //=>"1,2,3,4,5,6,7"
a.concat(4,[5,[6,7]]);  //=>"1,2,3,4,5,[6,7]"

5.Array.slice()方法

該方法返回指定數組的一個片段或子數組,該方法可以有兩個參數,分別制定片段的開始和結束位置,返回的數組包含第一個參數指定的元素和所有到但不包含第二個參數指定的位置的數組元素。如果只有一個參數,則包含從指定開始位置到數組末尾,參數可以為負值,表示相對于數組中最后一個元素的位置。該方法不會修改被調用的數組。

復制代碼 代碼如下:

var d =[1,2,3,4,5];
d.slice(1,2);              //=>"2"
d.slice(1,-1);             //=>"2,3,4"
d.slice(3);                 //=>"4,5"
d.slice(-3,-1);           //=>"3,4"

6.Array.splice()方法

該方法是在數組中插入或刪除元素的通用方法,該方法會修改原始數組。該方法可以包含多個參數,第一個參數指定要在數組中插入或刪除的起始位置,第二個參數制定了刪除元素的個數,若不指定則將起始位置以及后面元素全部刪除,兩個參數之后的參數指定了插入數組的元素,該方法返回由刪除元素組成的數組。

var e = [1,2,3,4,5,6];e.splice(4);          //=> 返回[5,6] ; e是[1,2,3,4]e.splice(1,2);         //=> 返回[2,3] ; e是[1,4]      var f = [1,2,3,4,5];f.splice(2,0,"a","b");   //=>返回[]; f是[1,2,a,b,3,4,5]f.splice(2,2,[6,7],3);   //=>返回[a,b]; f是[1,2,[6,7],3,4,5]

7.push()和pop()方法

這兩個方法將數組當做棧使用,push()方法是在數組尾部添加一個或多個元素,并返回數組的長度。pop()方法是刪除數組的最后一個元素,減少數組長度并返回刪除的值。

8.unshift()方法和shift()方法

這兩個方法是在數組頭部進行添加刪除操作,unshift()方法是在數組頭部添加一個或多個元素,返回數組長度。shift()方法是刪除數組第一個元素并返回。

var a=[];     //[]a.push(1,2);  //[1,2]a.pop();      //[1]a.unshift(2,3); //[2,3,1]a.shift();      //[3,1]

9.toString()和toLocaleString()方法

這兩個方法是將數組每個元素轉化為字符串,toString()是將每個元素轉化為字符串并且輸出用逗號隔開。toLocaleString()方法是數組每個元素調用toLocaleString()轉化為字符串,并使用本地化分隔符連接。

下面在介紹幾個ECMAScript5中特有的數組方法,在介紹方法之前首先做一個大致了解。大多數方法的第一個參數接受一個函數,并且對數組每個元素調用一次這個函數,如果說稀疏數組,不存在的元素不調用函數。大多數情況下,調用的函數使用三個參數:數組元素,元素的索引以及數組本身。

1.forEach()方法

該方法從頭到尾遍歷數組,數組每個元素都調用指定的函數。該方法在遍歷完所有數組元素之前不會終止。若想提前終止,必須將forEach()放到try塊中,并可以拋出異常。

var data=[1,2,3,4,5]var sum = 0;data.forEach(function(value){   //=>value為數組元素  sum+=value;})                        //=>15data.forEach(function(value,i,a){ //=>三個參數分別指代數組元素,元素索引和數組  a[i] = v+1;})                        //=>data=[2,3,4,5,6]

2.map()方法

該方法將數組的每個元素傳遞給指定的函數,并返回一個新數組,該數組包含了數組元素調用函數對應的返回值。如果是稀疏數組,返回的新數組也是同樣結構的系數數組。

var a=[1,2,3];var b=a.map(function(v){  return v*v;})  //=> b=[1,4,9]

3.filter()方法--類似于條件篩選

該方法返回的是原始數組的一個子集,傳遞的函數用來做邏輯判定,返回true或false,如果返回的值為true或可以轉化為true,則當前數組元素就是子集的成員,添加到返回的數組中。該方法會跳過稀疏數組的空元素。

var a=[5,4,3,2,1]var smalla=a.filter(function(v){  return v<3; })                         //=>返回[2,1]var everya=a.filter(function(v,i){ //=>i表示元素索引  return i%2==0; })                         //=>返回[5,3,1]


4.every()和some()方法

這兩個方法是對數組進行邏輯判定,對數組每個元素運用指定函數進行判定返回true或false。
every()方法是當且僅當數組中所有元素調用判定函數都返回true,才返回true,否則返回false。
some()方法是當數組中至少有一個元素調用判定函數返回true,就返回true,否則返回false。

這兩個方法都是一旦確認返回值后就不在遍歷數組元素了。

5.reduce()和reduceRight()方法

這兩個方法使用指定的函數將數組元素進行組合,生成單個值。
reduce()需要兩個參數,第一個是執行化簡組合的操作函數,第二個是組合的初始值。和前面幾個方法不同的是,常見的三個參數(數組元素、元素索引和數組本身)會作為操作函數的2~4個參數傳遞給函數,第一個參數是到目前為止進行計算組合的結果。
如果是針對空數組,并不指定初始值時調用reduce()方法會導致類型錯誤異常。
reduceRight()方法和reduce()方法的工作原理相同,不同的是其按數組索引從高到低進行處理(即從右到左進行合并處理)

6.indexOf()和lastIndexOf()方法

這兩個方法都是用于在整個數組中搜索具體給定的值,并返回第一個匹配元素的索引值,若沒有則返回-1.indexOf()方法是從頭到尾進行搜索,而lastIndexOf()是從尾到頭進行搜索。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩色婷婷| 亚洲第一在线视频| 欧美中文在线观看国产| 国产亚洲精品久久久| 亚洲直播在线一区| 亚洲美女www午夜| 亚洲视频精品在线| 国产成人aa精品一区在线播放| 91社区国产高清| 热久久免费国产视频| 亚洲男人的天堂网站| 国产午夜精品视频免费不卡69堂| 久久九九国产精品怡红院| 欧美日韩国产精品| 黄色精品一区二区| 国产视频精品久久久| 亚洲精品欧美日韩| 久久视频在线直播| 成人久久18免费网站图片| 国产ts人妖一区二区三区| 欧美日韩成人在线播放| 77777少妇光屁股久久一区| 亚洲精品一区二区在线| 精品国产一区二区三区久久久| 国产69精品久久久久久| 欧美黄色片视频| 在线日韩欧美视频| 国产精品吊钟奶在线| 成人啪啪免费看| 久久网福利资源网站| 亚洲国产美女精品久久久久∴| 日韩免费在线视频| 亚洲一区999| 欧美日韩加勒比精品一区| 日韩成人xxxx| 久久国产精品影片| 最近2019中文字幕一页二页| 欧美亚洲一区在线| 日韩国产精品亚洲а∨天堂免| 最近中文字幕mv在线一区二区三区四区| 伊人成人开心激情综合网| 91久久精品一区| 国产有码一区二区| 久久久久女教师免费一区| 91精品国产高清久久久久久91| 国内精品400部情侣激情| 日韩国产欧美精品在线| 国产日产欧美a一级在线| 国产精品自产拍在线观| 久久亚洲精品一区| 久久久久久久久91| 国产亚洲视频在线观看| 在线亚洲男人天堂| 亚洲欧美中文日韩在线| 日韩黄色高清视频| 日韩电视剧免费观看网站| 欧美黄色免费网站| 性视频1819p久久| 欧美成人午夜激情在线| 久久久中文字幕| 亚洲第一av网| 疯狂蹂躏欧美一区二区精品| 九九热在线精品视频| 亚洲国产精品人人爽夜夜爽| 国产亚洲日本欧美韩国| 精品自在线视频| 日韩av免费在线看| 中文字幕欧美在线| 亚洲视频第一页| 国产精品日韩在线播放| 久久天天躁狠狠躁老女人| 日韩一区二区在线视频| 91av在线精品| 精品成人国产在线观看男人呻吟| www欧美日韩| 亚洲石原莉奈一区二区在线观看| 亚洲级视频在线观看免费1级| 最近更新的2019中文字幕| 日本亚洲欧洲色α| 国产成人av在线| 亚洲已满18点击进入在线看片| 大伊人狠狠躁夜夜躁av一区| 久久99精品国产99久久6尤物| 欧美性受xxx| 国产精品精品久久久| 欧美激情精品久久久久久黑人| 国产精品美女无圣光视频| 午夜精品99久久免费| 成人av电影天堂| 富二代精品短视频| xx视频.9999.com| 欧美精品九九久久| 日韩精品欧美国产精品忘忧草| 91在线|亚洲| 国产成人精品久久久| 91九色在线视频| 91久久嫩草影院一区二区| 国产精品日韩在线播放| 国产精品一区二区三区久久| 日韩av在线高清| 欧美激情视频一区二区三区不卡| 国产成人啪精品视频免费网| 欧美极品少妇xxxxⅹ喷水| 欧美在线中文字幕| 亚洲高清久久久久久| 国产精品欧美激情在线播放| 国产精品∨欧美精品v日韩精品| 欧美成人精品影院| 555www成人网| 亚洲精品99久久久久中文字幕| 亚洲国产精品久久久久秋霞蜜臀| 色爱精品视频一区| 欧美极品少妇全裸体| 亚洲精品ady| 久久综合伊人77777尤物| 日本老师69xxx| 黄色成人av网| 亚洲福利在线观看| 久热精品视频在线| 一个人看的www久久| 国产精品国产亚洲伊人久久| 亚洲香蕉在线观看| 欧美精品久久久久久久久| 成人福利网站在线观看| 欧美成在线观看| 欧美日韩免费在线| 中文字幕亚洲欧美一区二区三区| 91亚洲精华国产精华| 欧美成人午夜激情视频| 欧美日韩亚洲高清| 免费99精品国产自在在线| 国产精品欧美激情| 最近中文字幕日韩精品| 91av在线国产| 亚洲直播在线一区| 日韩视频精品在线| 亚洲国产欧美日韩精品| 欧美黑人一级爽快片淫片高清| 欧美日韩高清在线观看| 日韩视频精品在线| 国内精品视频一区| 97视频免费看| 亚洲精品影视在线观看| 国产精品一区二区三区成人| xvideos亚洲| 国产精品欧美日韩久久| 2018中文字幕一区二区三区| 亚洲成年人影院在线| 亚洲综合精品一区二区| 欧美俄罗斯性视频| 日韩精品在线免费| 国产精品嫩草视频| 亚洲精品在线视频| 精品国产拍在线观看| 欧美综合激情网| 欧美福利视频在线| 深夜福利一区二区| 欧美黑人xxxⅹ高潮交| 国产日韩精品一区二区| 91免费的视频在线播放| 久久人人爽人人爽人人片亚洲| 国产精品久久久av| 欧美—级a级欧美特级ar全黄| 91精品久久久久久久久久久久久久|