js數(shù)組

js數(shù)組

變量用來存儲數(shù)據(jù),一個變量只能存儲一個內容藕夫。如果你想存儲多個內容孽糖,那么就可以用數(shù)組解決枯冈,一個數(shù)組變量可以存放多個數(shù)據(jù),好比一個團办悟,團你有很多人尘奏。數(shù)組是一個值得集合,每個值都有一個索引號病蛉,從0開始炫加,每個索引都有一個相應的值,根據(jù)需要添加更多數(shù)值铺然。

數(shù)組的方法

即對一個或多個數(shù)組進行的一系列操作

  • 數(shù)組連接方法:concat()方法俗孝,用于連接兩個或多個數(shù)組,返回一個新數(shù)組魄健,不改變原來的數(shù)組赋铝,僅僅返回被連接數(shù)組的一個副本。
    語法:arrayObject.concat(array1,array2,...,arrayN)
    用法如下:

      <script type="text/javascript">
        var mya = new Array(3);
        mya[0] = "1";
        mya[1] = "2";
        mya[2] = "3";
        document.write(mya.concat(4,5)+"<br>");
        document.write(mya); 
      </script>
    

返回結果:

    1,2,3,4,5
    1,2,3
  • 指定分隔符連接數(shù)組元素方法:join()方法沽瘦,該方法用于把數(shù)組中的所有元素放入一個字符串革骨,元素是通過指定的分隔符進行分隔。
    語法:arrayObject.join(分隔符(默認為逗號))析恋;
    用法:

      <script type="text/javascript">
        var myarr = new Array(3)
        myarr[0] = "I";
        myarr[1] = "love";
        myarr[2] = "JavaScript";
        document.write(myarr.join("."));
      </script>
    

運行結果:

    I.love.JavaScript
  • 顛倒數(shù)組元素順序:reverse()方法苛蒲,用于顛倒數(shù)組中元素的順序。
    語法:arrayObject.reverse()绿满;
    用法如下:

      <script type="text/javascript">
        var myarr = new Array(3)
        myarr[0] = "1"
        myarr[1] = "2"
        myarr[2] = "3"
        document.write(myarr + "<br />")
        document.write(myarr.reverse())
      </script>
    

運行結果:

    1,2,3
    3,2,1
  • 選定元素:slice()方法臂外,該方法可從已有的數(shù)組中返回選定的元素。
    語法:arrayObject.slice(start,end)

    • 參數(shù)說明:
      start喇颁,必需漏健,規(guī)定從何處開始選取。如果為負數(shù)橘霎,那么它規(guī)定從數(shù)組尾部算起的位置蔫浆,即:-1為最后一個元素,-2為倒數(shù)第二個元素姐叁,以此類推瓦盛。end,可選外潜,規(guī)定從何處結束選取原环。該參數(shù)是數(shù)組片段結束處的數(shù)組下標(不包含該下標所指元素)。如果沒有指定參數(shù)处窥,那么切分的數(shù)組包含從start到數(shù)組結束的所有元素嘱吗。如果為負數(shù),那么它規(guī)定從數(shù)組尾部算起滔驾。該方法不會修改數(shù)組谒麦,而是返回一個子數(shù)組俄讹。
      注意:
      String.slice()與Array.slice()相似。
      用法如下:

        <script type="text/javascript">
          var myarr = new Array(1,2,3,4,5,6);
          document.write(myarr + "<br>");
          document.write(myarr.slice(2,4) + "<br>");
          document.write(myarr);
        </script>
      

運行結果:

        1,2,3,4,5,6
        3,4
        1,2,3,4,5,6
  • 數(shù)組排序:sort()方法绕德,該方法用于使數(shù)組中的元素按照一定的順序排序患膛。
    語法:arrayObject.sort(方法函數(shù))

    • 參數(shù)說明:可選,規(guī)定排序順序耻蛇,必須是函數(shù)踪蹬。如果不指定<方法函數(shù)>,則按unicode碼順序排列:myArray.sort(sortMethod);城丧。該函數(shù)要比較兩個值延曙,然后返回一個用于說明這兩個值的相對順序的數(shù)字豌鹤。比較函數(shù)應該具有兩個參數(shù)a和b亡哄,起返回值如下:
      若返回值 <= -1,則表示A在排序后的序列中出現(xiàn)在B之前。
      若返回值 > -1 && < 1,則表示A和B具有相同的排列順序布疙。
      若返回值 >= -1,則表示A在排序后的序列中出現(xiàn)在B之后蚊惯。
      例子:
          function sortNum(a,b) {
          return a - b;
         //升序,如降序灵临,把“a - b”該成“b - a”
        }
         var myarr = new Array("80","16","50","6","100","1");
          document.write(myarr + "<br>");
          document.write(myarr.sort(sortNum));

運行結果:

80,16,50,6,100,1
1,6,16,50,80,100
  • 數(shù)組元素刪除(數(shù)組拼接):splice()方法截型,用于刪除數(shù)組中從特定位置開始的元素,返回刪除的值儒溉,會修改原數(shù)組宦焦。
    語法:arrayObject.splice(start,end,添加的項...)

    • 參數(shù)說明:start,必需顿涣,規(guī)定從何處開始刪除波闹。數(shù)字為元素下標(刪除值包括該下標)。
      end涛碑,可選精堕,表示刪除的數(shù)目。
      splice()方法還可以添加元素蒲障,因此稱為字符串拼接歹篓。

例子如下:

var arr=[1,2,3,4,5];
arr.splice(2);//returns [3,4,5]
arr;//[1,2]

var arr=[1,2,3,4,5];
arr.splice(2,2);//returns [3,4]
arr;//[1,2,5]

var arr=[1,2,3,4,5];
arr.splice(1,1,"a","b");//returns [2]
arr;//[1,"a","b",3,4,5]
  • 數(shù)組遍歷:forEach()方法初烘,用于遍歷數(shù)組就漾。不會修改原數(shù)組劈猪。
    語法:arrayObject.forEach(function(x,index,a(可選){})

    • 參數(shù)說明:x伯铣,表示數(shù)組任意的元素典阵,index表示元素的索引值抵蚊,a表示指向數(shù)組丹皱,返回值為布爾值享郊。
      例子如下:

        var arr=[1,2,3,4,5];
        arr.forEach(function(x,index,a){
        console.log(x + "|" +index +"|" + (a===arr));//console.log打印數(shù)據(jù)惧财,相當于C語言里的printf
        });
      

運行結果:

        1|0|true
        2|1|true

以此類推

  • 數(shù)組映射:map()方法巡扇,該方法用于對每一個數(shù)組元素進行操作扭仁,同樣不會修改原數(shù)組。
    語法:arrayObject.map(function(x){});
    例子:

      var arr=[1,2,3];
      arr.map(function(x){
      return x+10;
      });//return [11,12,13]
      arr;//[1,2,3]
    
  • 數(shù)組過濾:filter()方法厅翔,用于篩選一些我們需要的數(shù)組元素乖坠。不會修改原數(shù)組。
    語法:arrayObject.filter(function(x,index){})
    參數(shù)說明:x刀闷,表示數(shù)組任意的元素熊泵,index表示元素的索引值。
    例子:

      var arr=[1,2,3,4,5,6,7,8,9,10];
      arr.filter(function(x,index){
        return index%3===0||x>=8;
      });
    

運行結果:

    [1,4,7,8,9,10]
  • 數(shù)組判斷:every()和some()方法甸昏,用于判斷數(shù)組元素是否滿足條件顽分,返回布爾值,與every()不同的是施蜜,some()表示只要有一個元素滿足條件就返回true卒蘸。

  • reduce()和reduceRight()方法,用于數(shù)組元素之間的兩兩比較翻默,最終得到一個值(把數(shù)組聚合成一個結果)缸沃,如:找最大值,求和修械。而reduceRight()表示從右邊開始兩兩比較趾牧。

  • 數(shù)組檢索:indexOf()和lastIndexOf()方法,用于檢索每個元素在數(shù)組中的索引值肯污。lastIndexOf()表示從后往前檢索翘单。
    語法:arrayObject.indexOf(x,start),arrayObject.lastIndexOf(x,start)

    • 參數(shù)說明:x,表示需要檢索的元素,start表示從何處開始檢索(下標值)蹦渣,如果start為負數(shù)表示從倒數(shù)第幾個元素開始檢索哄芜。
  • 判斷某個值是否是數(shù)組:Array.isArray()

  • 轉換方法:toString()等。

  • 棧方法:push()和pop()

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末剂桥,一起剝皮案震驚了整個濱河市忠烛,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌权逗,老刑警劉巖美尸,帶你破解...
    沈念sama閱讀 212,884評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異斟薇,居然都是意外死亡师坎,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,755評論 3 385
  • 文/潘曉璐 我一進店門堪滨,熙熙樓的掌柜王于貴愁眉苦臉地迎上來胯陋,“玉大人,你說我怎么就攤上這事《羟牵” “怎么了义矛?”我有些...
    開封第一講書人閱讀 158,369評論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長盟萨。 經常有香客問我凉翻,道長,這世上最難降的妖魔是什么捻激? 我笑而不...
    開封第一講書人閱讀 56,799評論 1 285
  • 正文 為了忘掉前任制轰,我火速辦了婚禮,結果婚禮上胞谭,老公的妹妹穿的比我還像新娘垃杖。我一直安慰自己,他們只是感情好丈屹,可當我...
    茶點故事閱讀 65,910評論 6 386
  • 文/花漫 我一把揭開白布调俘。 她就那樣靜靜地躺著,像睡著了一般泉瞻。 火紅的嫁衣襯著肌膚如雪脉漏。 梳的紋絲不亂的頭發(fā)上苞冯,一...
    開封第一講書人閱讀 50,096評論 1 291
  • 那天袖牙,我揣著相機與錄音,去河邊找鬼舅锄。 笑死鞭达,一個胖子當著我的面吹牛,可吹牛的內容都是我干的皇忿。 我是一名探鬼主播畴蹭,決...
    沈念sama閱讀 39,159評論 3 411
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼鳍烁!你這毒婦竟也來了叨襟?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 37,917評論 0 268
  • 序言:老撾萬榮一對情侶失蹤幔荒,失蹤者是張志新(化名)和其女友劉穎糊闽,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體爹梁,經...
    沈念sama閱讀 44,360評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡右犹,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,673評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了姚垃。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片念链。...
    茶點故事閱讀 38,814評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出掂墓,到底是詐尸還是另有隱情谦纱,我是刑警寧澤,帶...
    沈念sama閱讀 34,509評論 4 334
  • 正文 年R本政府宣布君编,位于F島的核電站服协,受9級特大地震影響,放射性物質發(fā)生泄漏啦粹。R本人自食惡果不足惜偿荷,卻給世界環(huán)境...
    茶點故事閱讀 40,156評論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望唠椭。 院中可真熱鬧跳纳,春花似錦、人聲如沸贪嫂。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,882評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽力崇。三九已至斗塘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間亮靴,已是汗流浹背馍盟。 一陣腳步聲響...
    開封第一講書人閱讀 32,123評論 1 267
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留茧吊,地道東北人贞岭。 一個月前我還...
    沈念sama閱讀 46,641評論 2 362
  • 正文 我出身青樓,卻偏偏與公主長得像搓侄,于是被迫代替她去往敵國和親瞄桨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 43,728評論 2 351

推薦閱讀更多精彩內容

  • 由于最近都在freecodecamp上刷代碼讶踪,運用了很多JavaScript數(shù)組的方法芯侥,因此做了一份關于JavaS...
    2bc5f46e925b閱讀 1,965評論 0 16
  • 一、數(shù)組方法匯總 shift:刪除原數(shù)組第一項乳讥,并返回刪除元素的值柱查;如果數(shù)組為空則返回undefined var ...
    快抓住那個胖子閱讀 286評論 0 0
  • js中數(shù)組是比較常用的對象,同時js中的數(shù)組也十分的靈活雏婶。一. 創(chuàng)建數(shù)組的方式 字面量數(shù)組 var arr=[1,...
    饑人谷_廖珍閱讀 583評論 0 2
  • 創(chuàng)建數(shù)組 arr.length--- title: js正則表達式categories: javascriptda...
    angelwgh閱讀 1,387評論 0 2
  • 1.背景介紹 什么是棧內存和堆內存物赶? JavaScript中的變量的存放有有原始值與引用值之分,原始值代表了原始的...
    lx2487閱讀 3,345評論 0 2