一、定義數組。
定義數組有兩個方法:
1、var arr1 = []; //定義一個空數組
,1] /定義一個有5個元素的陣列。
3、var arr3 = new Array(3); //定義一個空數組
4、var arr4 = new Array(1,2,3/str1");為5的數組。
二、陣列元素的讀與寫。
arr[0]; //讀取第一個數組元素
arr[0] = "str1"; //////////////////////////化組(組)的數字改變數字」。
三、稀疏數組。
稀疏數組表示從0 開始不連續索引的陣列。通常陣列的length代表元素中元素個數,如果陣列是稀疏的,length屬性值將大於元素的數量。
in 運算子用於偵測元素在某位置是否存在元素,注意undefined也算存在。
如:var a1 = [,,];
var a2 = new Array(3);
0 in a2; //false ,a2在索引0處沒有元素
四、數組長度
length屬性用於標誌數組的長度
如:var 瀦 / /5 arr數組有5個元素
五、數組元素的添加和刪除
push: //在數組的末尾添加一個元素
( 4,5); //arr變成[1,2,3,4,5] delete: //刪除數組某一位置的元素🀜 㟀〜〜〜3] arr [1] //arr變成[1,,3] 1 in arr //false六、數組的遍歷『 var arr = [1,2, 3,4,5]; for(var i = 0.i}七、多維數組 多維數組就是數組裡的元素還是數組 多 〜, 5 arr[1 ][1]; // 5八、數組方法 1、 join() 用於將數組中所有元素都轉換為字串並連接在一起,還可以自訂連接🀀㟀㟀〜 〜 㟀〜 㟀〜 㟀〜〜、〜 㟀〜 㟀〜 㟀〜 㟀〜 㟁〜 㟀〜 㟀㜀㟀〜 㟀〜 㟀㟀㜀㟀㜀㟀㜀㟀㜀㟀㜀㟀〜 㟀㟀㜀㟀 㟀1,2,3]; arr.join(); // => "1,2,3" 〔arr. "; 2、 reverse() 用於將數組元素的順序顛倒 var arr = [1,2,3]; arr數組變為[3,2,1 ] 3、 sort(); //用於對數組內的元素進行排序。可以傳入一個函數用作排序,如果為空,則按字母順序排序。 undifined元素排到最後 var arr = [1,2,3]; a.sort(function(a, a.sort(function(a, ; //排序標準負數0 正數,比較結果先回傳小的那個 }); //arr數組的值為[1,2,3] 如果第二個條件變成b-a則結果為[3,2,1]〜 〜 〜 〜 〜〜 〜 〜〜 〜〜 〜 〜〜 〜 〜〜 〜〜)組合一個新的數組,傳回一個新的數組 var arr = [1,2,3] arrnew = arr.concat(4,5) arrnew = arr.concat(4,5)/HyH5,03/5. ] arrnew1 = arr.concat([4,5],[6,7]); //arrnew1數組為[1,2,3,4,5,6,7]〜 〜 〜 〜〜 〜 〜 〜 〜 〜 〜 〜 〜 、 ) /用於傳回數組指定區間的元素組成的數組,如果輸入一個參數,則是從這個參數到結束之間的數組。兩個參數就是,第一個參數是起始位置,第二個參數是個數。 var arr = [1,2,3,4,5]; var arr1 = slice(2); var arr2 = arr.slice(1,3 ); //[2,3] 6、splice() 刪除或新增元素。會改變原數組本身,相當於C#中的引用(ref),原始數組是刪除的元素組成的數組,而返回值是剩下的元素組成的數組。 var arr = [1,2,3,4,5]; var arr1 = arr.splice(1,33);為返回的數字 vararr1 = arr.splice(1,33); ,5] var arr2 = [1,2,3,4,5]; var arr3 = arr2.splice(2,0,'a','b'); //從第2位開始刪除,刪除兩個元素,然後從該位置插入'a','b';arr2為[],因為沒有刪除任何元素,arr3[1,2,'a','b',3,4,5]
7、 push()與pop() 在數組尾部添加或刪除一個元素,添加時返回之為最後一個添加的元素,刪除時。傳回一個值為刪除的元素。
push() 函數在數組尾部增加一個元素。
pop() 函數刪除陣列的最後一個元素。
var arr = [1,2,3]
arr.push(4); //arr 為[1,23,44); 1,2,3]
arr. pop(); //arr1為[1,2]
8、unshift()和shift()
腳 sh 』而非尾部。
shift() 在陣列頭部移除一個元素,傳回值為被刪元素。
unshift() 在數組頭部添加一個元素,返回群組為最後一個添加的元素。
var arr = [1,2,3];
var a = arr.shift(); //arr [2,33] arr1 = [1,2,3];
var b = arr1.unshift([4,5]); //arr1變成[4,51,2,3],b為4 toString()和toLocaleString() 將數組轉化為字符串
var arr = [1,2,3]
arr.toString(); //生成"1,2,3" 與不使用任何參數的join ()是一樣的。
二、ECMAScript中的陣列方法
1、forEach() forEach() 從頭到尾遍歷數組,為每個元素呼叫指定的函數。
var arr = [1, 2, 3, 4, 5];
var sum = 0;var sum = 0;
var sum = 0;sum = sum + value;
}); document.write(sum ); //sum最終為15
2、map() map()方法將呼叫的陣列的每個元素傳遞給指定的函數,並傳回一個陣列。
var arr = [1, 2, 3, 4, 5];
var arr1 = arr });
var arr = [1, 2, 3, 4, 5, 6];
var arr1 = arr==filter(function (i) { return i % (arr1.join ()); //arr1為[2,4,6]
4、every()和some()
合組裡的所有元素都會返回true。第一次回傳false就停止遍歷。
some()當數組裡存在一個元素呼叫判定函數回傳true,它就會回傳true。第一次回傳true就停止遍歷。
var arr = [1, 2, 3, 4, 5, 6];
var a = arr.every(function (x) { return x > 3; });var b = arr.some(function( y){ return y > 3; });
document.write("a的值是:" + a); //a的值是false,a中不是所有元素大於3.數值是:" + b); //b的值是true,b中存在元素大於3
5、reduce()和reduceRight()
〔 組中將產生數字單一值,第一個參數是簡化操作函數,第二個參數是傳遞給函數的初始值。最後結果是初始值再以組合函數與最後結果計算一次。第二個參數即初始值可以省略,當初始值省略就直接從第一個元素開始計算。
var arr = [1, 2, 3, 4, 5, 6];
var count = arr.reduce(function (x, y var count = arr.reduce(function (x, y var. (count );reduceRight(); 與reduce()唯一的不同就是它從右至左選擇元素進行計算。
6、indexOf()和lastInsexOf()
indexOf() indexOf()從頭至少返回找到的第一個元素的索引。
var arr = [1, 2, 3, 2, 1];
var i = arr.indexOf(2); 尾j = arr.lastIndexOf(2); //從尾至頭搜索,第一次遇見2是arr[3],因此返回3
document.write(i + "
");🎠 document.write(i + "
");
document.write(i + "
");
(j);
7、Array.isArray(); //判定一個物件是否陣列物件
document.write(Array. isArray(arr)); //回傳true arr是數組物件
document.write(Array.isArray(str)); //回傳false str