第一頁 數組學習
1、一維數組
(1) var numbers = new Array(); (2)var numbers = new Array(7); (3) var numbers = new Array(1,2,3,4);
var numbers = [0,1,2,3,4,5,6,7,8,9];
添加數組的結尾: numbers[numbers.length] = 10; (或者) numbers.push(11,12,13);
將數值添加到數組的首端: numbers.unshift(-1,-2)
刪除最後一個: numbers.pop();
刪除首端元素: numbers.shift();
刪除索引為2的位置開始的2個元素: numbers.splice(2, 2)
splice方法接收的第一個參數,表示想要刪除或插入的元素的索引值。第二個參數是刪除
元素的個數。第三個參數往後,就是要添
加到數組裏的值;例如: numbers.splice(5,0,2,3,4);這個就表示索引5的位置開始,刪除0個元素,然後在其後面插入2,3,4三個元素
* 在js中數組是沒有長度限制的,可以無限添加,但是在C和Java中定義數組的時候就要先定義數組的長度。
2、二維多維數組
//二維數組 vararray2 = []; for (var i = 0; i < 4; i++) { array2[i] = []; for (var j = 0; j < 4; j++) { array2[i][j] = i + j; } } console.log(array2); //三維數組 var matrix3x3x3 = []; for (var i = 0; i < 3; i++) { matrix3x3x3[i]= []; for (var j = 0; j < 3; j++) { matrix3x3x3[i][j] = []; for (var z = 0; z < 3; z++) { matrix3x3x3[i][j][z] = i + j + z; } } } console.log(matrix3x3x3);
3、JavaScript 的數組方法參考
concat 連接2個或更多數組,並返回結果
every 對數組中的每一項運行給定函數,如果該函數對每一項都返回true,則返回true
filter 對數組中的每一項運行給定函數,返回該函數會返回true的項組成的數組
forEach 對數組中的每一項運行給定函數。這個方法沒有返回值
join 將所有的數組元素連接成一個字符串
indexOf 返回第一個與給定參數相等的數組元素的索引,沒有找到則返回-1
lastIndexOf 返回在數組中搜索到的與給定參數相等的元素的索引裏最大的值
map 對數組中的每一項運行給定函數,返回每次函數調用的結果組成的數組
reverse 顛倒數組中元素的順序,原先第一個元素現在變成最後一個,同樣原先的最後一個元素變成了現在
的第一個
slice 傳入索引值,將數組裏對應索引範圍內的元素作為新數組返回
some 對數組中的每一項運行給定函數,如果任一項返回true,則返回true
sort 按照字母順序對數組排序,支持傳入指定排序方法的函數作為參數
toString 將數組作為字符串返回
valueOf 和toString類似,將數組作為字符串返回
// 數組合並 concat var zero = 0; var positiveNumbers = [1, 2, 3]; var negativeNumbers = [-3, -2, -1]; var numbers = negativeNumbers.concat(positiveNumbers); console.log(numbers)
//every var isEven = function (x) { // 如果x是2的倍數,就返回true // console.log(x); return (x % 2 == 0) ? true : false; // 也可以寫成return (x % 2 == 0) ? true : false }; var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]; console.log(numbers.filter(isEven))
//排序 var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]; numbers.sort(); console.log(numbers)//結果(15) [1, 10, 11, 12, 13, 14, 15, 2, 3, 4, 5, 6, 7, 8, 9]
//sort方法在對數組做排序時,把元素默認成字符串進行相 互比較。
//排序 var numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]; // numbers.sort(); numbers.sort(function (a, b) { return a - b; }); function compare(a, b) { if (a < b) { return -1; } if (a > b) { return 1; } // a必須等於 return 0; } numbers.sort(compare); console.log(numbers)//結果(15)[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]
//搜索 var numbers = [1, 2, 3, 4, 5, 6, 3,5,3,5,87,3]; console.log(numbers.lastIndexOf(33))//從數組尾端開始查找匹配的 返回與其相同的值的索引 沒有匹配到返回-1 console.log(numbers.indexOf(3))//從數組首端開始查找匹配的 返回與其相同的值的索引 沒有匹配到返回-1
第一頁 數組學習