<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                [toc] ## 聲明一個數組的方式有: ```javascript var a = []; var b = new Array(); // --> [] var c = new Array(6); // --> length為6的數組,每個元素都是undefined var d = new Array(1,2,3); // --> [1,2,3] ``` ## 還有不常見的稀疏數組, 數組中不連續,會有undefined存在 ## 可以通過Object.defineProperty()讓數組的length屬性變成只讀的,如: ```javascript var a= [1, 2, 3]; Object.defineProperty(a, 'length', {writable: false}); a.length = 1; //--> length屬性不會改變 ``` ## 數組的元素的增加和減少 posh pop shift unshift ```javascript var a = [1, 2, 3]; a.push(4); //--> [1, 2, 3, 4] a.pop(); //--> a = [1, 2, 3] ; pop 方法會刪除并返回最后一個元素,會改變原數組 a.shift(); //--> 和pop方法相同,不過是第一個元素 a.unshift(4); //--> 和push方法相同,從前面插入 ``` ## 數組的方法 - **splice** splice方法 **刪除或者添加**數組元素 splice(a, b), 從第a個開始刪除b個元素,并返回刪除的元素或數組,會改變原來的數組 ```javascript var a = [1,2,3,4,5]; a.splice(0, 1); //--> 刪除第0個開始的1個元素 a; // --> [2,3,4,5] ``` ```javascript //如果省略第二個參數,后面的全刪除 var a = [1,2,3,4], b = ['a', 'b', 'c', 'd']; a.splice(2); // --> 返回[3,4], a 為 [1, 2] ``` ```javascript //spilce除了刪除還能添加!! var a = [1,2,3], b = ['a', 'b', 'c', 'd']; a.splice(2,0, 'a', 'b'); //--> [1,2,'a', 'b', 3] b.splice(2,1,[1,2], 'e') ; // --> 返回['c'], b為 ['a', 'b', [1,2], 'e', 'd'] ``` - **concat** 合并兩個數組 a.concat(b) 并返回合并后的數組, 原數組不會改變 ```javascript var a = [1,2,3,4,5], b = [1, 2]; a.concat(b) ; //--> [1, 2, 3, 4, 5, 1, 2] console.log(a); // --> [1, 2, 3, 4, 5] console.log(b); // --> [1, 2] a b 數組都不會變 ``` - **sort** 和 **reserve** ```javascript var a = [{value: 2}, {value: 1}, {value: 5}, {value: 4}]; a.sort(function(obj1, obj2){ return obj1 - obj2; //正序-->[{value: 1}, {value: 2}, {value: 4}, {value: 5}]; }) ``` - **join** 將數組中所有元素化為字符串并連接在一起,并返回生成的字符串。同時可以指定一個字符來作為連接符 ```javascript var a = [1,2,3]; //a.join(); -->'123' //a.join(' '); --> '1 2 3' //a.join('-'); --> '1-2-3' ``` - **slice** 返回元素或子數組, slice(a, b), 返回從第a個開始到第b個元素的集合, a和b可以是負數, 負數則從末尾開始算 ```javascript var a = [1, 2, 3, 4]; a.slice(0, 2); //[1, 2] a.slice(0, -1); //[1, 2, 3] ``` - **forEach** > forEach 方法遍歷整個數組,并對數組的每個元素執行方法, 可以傳遞3個參數: 元素 序列 數組本身 ```javascript var a = [1, 2, 3, 4], b = 0; a.forEach( function(item, index, self){ b += item; //循環結束b=10 } ); ``` 需要注意的是**forEach不能停止循環**,沒有for循環中的break語句。如果需要提前終止循環,**必須放在try塊中,并拋出異常**。拋出異常的時候會觸發**foreach.break** 事件 - **map** > 將調用的數組的每個元素傳遞給指定的函數,并返回新的數組,包含該函數的返回值 ```javascript var a = [1, 2, 3, 4, 5]; var b = a.map(function(item){return item*2 }); //[2, 4, 6, 8, 10] var c = [{val: 1}, {val: 2}, {val: 3}]; var d = c.map(function(i){return (i.val + 1)});//[2, 3, 4] ``` map遍歷和forEach 不一樣,map返回的是新數組,不會改變原數組 - **filter** - **every和some** > every和some是數組的判斷, 返回true或者false 如果一個數組的每個元素都滿足every中的函數,則返回true;而some只要有符合條件的就返回true。 **every相當于每個元素的 & , some 相當于 |** ```javascript var a = [1, 2, 3, 4]; a.every(function(i){return i < 10}); //true a.every(function(i){return i%2 == 0}); //false ``` ```javascript var b = [1, 2, 3, 4]; b.some(function(i){ return i < -1 }); //false b.some(function(i){ return i % 2 === 0 }); //true ``` - **reduce和reduceRight** > 化簡方法, 將數組進行組合,生成單個值并返回 ## reduce從左, reduceRight從右開始。這兩個方法接收兩個參數,第一個參數是執行的方法,第二個參數是可選的初始值。有初始值時,初始值作為執行方法的第一個參數注入,沒有的話,則是數組的第一個元素或者最后一個作為初始值傳入。 ```javascript var a = [1,2,3]; var b = a.reduce(function(x, y){ return x+y }, 0); //--> 6 ``` - **indexOf和lastIndexOf** > 檢索數組,并返回匹配的第一個元素的索引,indexOf從頭開始,lastIndexOf從尾開始,如果沒找到則返回-1。可以傳入兩個參數,第一個是需要匹配的元素,第二個是可選的,它是指定數組中的一個索引,從那開始搜索,第二個參數也可以是負數
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看