數(shù)組

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            /*
             * 內(nèi)建對象
             * 宿主對象
             * 自定義對象
             * 
             * 數(shù)組(Array)
             *  - 數(shù)組也是一個對象
             *  - 它和我們普通對象功能類似仿吞,也是用來存儲一些值的
             *  - 不同的是普通對象是使用字符串作為屬性名的公壤,
             *      而數(shù)組時使用數(shù)字來作為索引操作元素
             *  - 索引:
             *      從0開始的整數(shù)就是索引
             *  - 數(shù)組的存儲性能比普通對象要好啤握,在開發(fā)中我們經(jīng)常使用數(shù)組來存儲一些數(shù)據(jù)
             */
            
            //創(chuàng)建數(shù)組對象
            var arr = new Array();
            
            //使用typeof檢查一個數(shù)組時顷链,會返回object
            //console.log(typeof arr);
            
            /*
             * 向數(shù)組中添加元素
             * 語法:數(shù)組[索引] = 值
             */
            arr[0] = 10;
            arr[1] = 33;
            arr[2] = 22;
            arr[3] = 44;
            /*arr[10] = 31;
            arr[100] = 90;*/
            
            /*
             * 讀取數(shù)組中的元素
             * 語法:數(shù)組[索引]
             *  如果讀取不存在的索引夯辖,他不會報錯而是返回undefined
             */
            
            //console.log(arr[3]);
            
            /*
             * 獲取數(shù)組的長度
             * 可以使用length屬性來獲取數(shù)組的長度(元素的個數(shù))
             *  語法:數(shù)組.length
             * 
             * 對于連續(xù)的數(shù)組笙什,使用length可以獲取到數(shù)組的長度(元素的個數(shù))
             * 對于非連續(xù)的數(shù)組茵烈,使用length會獲取到數(shù)組的最大的索引+1
             *      盡量不要創(chuàng)建非連續(xù)的數(shù)組
             */
            /*console.log(arr.length);
            console.log(arr);*/
            
            /*
             * 修改length
             *  如果修改的length大于原長度绸吸,則多出部分會空出來
             *  如果修改的length小于原長度涎跨,則多出的元素會被刪除
             */
            //arr.length = 10;
            
            /*arr.length = 2;
            
            console.log(arr.length);
            console.log(arr);*/
            
            arr[4] = 50;
            arr[5] = 60;
            
            //向數(shù)組的最后一個位置添加元素
            //語法:數(shù)組[數(shù)組.length] = 值;
            arr[arr.length] = 70;
            arr[arr.length] = 80;
            arr[arr.length] = 90;
            
            console.log(arr);
            
        </script>
    </head>
    <body>
    </body>
</html>

數(shù)組的高級應(yīng)用

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            //創(chuàng)建一個數(shù)組
            //var arr = new Array();
            
            //使用字面量來創(chuàng)建數(shù)組
            //語法:[]
            //var arr = [];
            
            //console.log(typeof arr);
            
            //使用字面量創(chuàng)建數(shù)組時洼冻,可以在創(chuàng)建時就指定數(shù)組中的元素
            var arr = [1,2,3,4,5,10];
            
            //console.log(arr[3]);
            
            //使用構(gòu)造函數(shù)創(chuàng)建數(shù)組時,也可以同時添加元素隅很,將要添加的元素作文構(gòu)造函數(shù)的參數(shù)傳遞
            //元素之間使用,隔開
            var arr2 = new Array(10,20,30);
            //console.log(arr2);
            
            //創(chuàng)建一個數(shù)組數(shù)組中只有一個元素10
            arr = [10];
            
            //創(chuàng)建一個長度為10的數(shù)組
            arr2 = new Array(10);
            
            //console.log(arr2.length);
            //數(shù)組中的元素可以是任意的數(shù)據(jù)類型
            arr = ["hello",1,true,null,undefined];
            
            //也可以是對象
            var obj = {name:"孫悟空"};
            arr[arr.length] = obj;
            arr = [{name:"孫悟空"},{name:"沙和尚"},{name:"豬八戒"}];
            
            //也可以是一個函數(shù)
            arr = [function(){alert(1)},function(){alert(2)}];
            
            //console.log(arr);
            //arr[0]();
            
            //數(shù)組中也可以放數(shù)組撞牢,如下這種數(shù)組我們稱為二維數(shù)組
            arr = [[1,2,3],[3,4,5],[5,6,7]];
            console.log(arr[1]);
            
        </script>
    </head>
    <body>
    </body>
</html>

常用方法

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            //創(chuàng)建一個數(shù)組
            var arr = ["孫悟空","豬八戒","沙和尚"];
            
            /*
             * push()
             *  - 該方法可以向數(shù)組的末尾添加一個或多個元素,并返回數(shù)組的新的長度
             *  - 可以將要添加的元素作為方法的參數(shù)傳遞叔营,
             *      這樣這些元素將會自動添加到數(shù)組的末尾
             *  - 該方法會將數(shù)組新的長度作為返回值返回
             */
            
            var result = arr.push("唐僧","蜘蛛精","白骨精","玉兔精");
            
            
            //console.log(arr);
            //console.log("result = "+result);
            
            /*
             * pop()
             *  - 該方法可以刪除數(shù)組的最后一個元素,并將被刪除的元素作為返回值返回
             */
            result = arr.pop();
            /*console.log(arr);
            console.log("result = "+result);*/
            
            /*
             * unshift()
             *  - 向數(shù)組開頭添加一個或多個元素屋彪,并返回新的數(shù)組長度
             *  - 向前邊插入元素以后,其他的元素索引會依次調(diào)整
             */
            //console.log(arr);
            
            arr.unshift("牛魔王","二郎神");
            
            console.log(arr);
            
            /*
             * shift()
             *  - 可以刪除數(shù)組的第一個元素绒尊,并將被刪除的元素作為返回值返回
             */
            result = arr.shift();
            result = arr.shift();
            
            console.log(arr);
            console.log("result = "+result);
            
            
        </script>
    </head>
    <body>
    </body>
</html>

數(shù)組的遍歷

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            //創(chuàng)建一個數(shù)組
            var arr = ["孫悟空","豬八戒","沙和尚","唐僧","白骨精"];
            
            //所謂的遍歷數(shù)組畜挥,就是將數(shù)組中所有的元素都取出來
            /*console.log(arr[0]);
            console.log(arr[1]);
            console.log(arr[2]);
            console.log(arr[3]);*/
            
            for(var i=0 ; i<arr.length ; i++){
                console.log(arr[i]);
            }
            
        </script>
    </head>
    <body>
    </body>
</html>

forEach

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <script type="text/javascript">
            
            /*
             * 一般我們都是使用for循環(huán)去遍歷數(shù)組,
             *  JS中還為我們提供了一個方法蟹但,用來遍歷數(shù)組
             * forEach()
             *      - 這個方法只支持IE8以上的瀏覽器
             *          IE8及以下的瀏覽器均不支持該方法,所以如果需要兼容IE8华糖,則不要使用forEach
             *          還是使用for循環(huán)來遍歷
             */
            
            //創(chuàng)建一個數(shù)組
            var arr = ["孫悟空","豬八戒","沙和尚","唐僧","白骨精"];
            
            /*
             * forEach()方法需要一個函數(shù)作為參數(shù)
             *  - 像這種函數(shù)瘟裸,由我們創(chuàng)建但是不由我們調(diào)用的,我們稱為回調(diào)函數(shù)
             *  - 數(shù)組中有幾個元素函數(shù)就會執(zhí)行幾次兼搏,每次執(zhí)行時,瀏覽器會將遍歷到的元素
             *      以實參的形式傳遞進(jìn)來佛呻,我們可以來定義形參,來讀取這些內(nèi)容
             *  - 瀏覽器會在回調(diào)函數(shù)中傳遞三個參數(shù):
             *      第一個參數(shù)再扭,就是當(dāng)前正在遍歷的元素
             *      第二個參數(shù)夜矗,就是當(dāng)前正在遍歷的元素的索引
             *      第三個參數(shù)紊撕,就是正在遍歷的數(shù)組
             *      
             */
            arr.forEach(function(value , index , obj){
                console.log(value);
            });
            
            
        </script>
    </head>
    <body>
    </body>
</html>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末赡突,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子浪南,更是在濱河造成了極大的恐慌漱受,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件絮记,死亡現(xiàn)場離奇詭異,居然都是意外死亡虐先,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門撰洗,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腐芍,“玉大人,你說我怎么就攤上這事柿汛。” “怎么了络断?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵貌笨,是天一觀的道長。 經(jīng)常有香客問我锥惋,道長,這世上最難降的妖魔是什么遭商? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任捅伤,我火速辦了婚禮,結(jié)果婚禮上祠汇,老公的妹妹穿的比我還像新娘。我一直安慰自己可很,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布凰浮。 她就那樣靜靜地躺著我抠,像睡著了一般。 火紅的嫁衣襯著肌膚如雪导坟。 梳的紋絲不亂的頭發(fā)上屿良,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天,我揣著相機與錄音惫周,去河邊找鬼尘惧。 笑死,一個胖子當(dāng)著我的面吹牛递递,可吹牛的內(nèi)容都是我干的喷橙。 我是一名探鬼主播,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼登舞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了菠秒?” 一聲冷哼從身側(cè)響起疙剑,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎嚼蚀,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體管挟,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年僻孝,在試婚紗的時候發(fā)現(xiàn)自己被綠了导帝。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,932評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡穿铆,死狀恐怖您单,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情荞雏,我是刑警寧澤睹限,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布,位于F島的核電站讯檐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏染服。R本人自食惡果不足惜别洪,卻給世界環(huán)境...
    茶點故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望柳刮。 院中可真熱鬧挖垛,春花似錦、人聲如沸秉颗。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蚕甥。三九已至哪替,卻和暖如春凭舶,著一層夾襖步出監(jiān)牢的瞬間帅霜,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留踢星,地道東北人。 一個月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像副签,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子本砰,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容