JavaScript學習筆記(數組)
JavaScript的Array可以包含任意數據類型,並通過索引來訪問每個元素,
獲得數組的長度可以通過length屬性:
var arr = [1,2,3.14,'hello',null,true];
alert(arr.length);
直接給Array的length賦值一個新的值會導致Array大小的變化:
var arr = [1,2,3.14];
arr.length;
arr.length=6
console.log(arr);
可以通過索引把對應的元素修改爲新的值,因此,對Array的索引 進行賦值會直接 修改Array
var arr = ['a','b','c'];
arr[1] = 99;
arr;
常用的字符串的操作:
indexOf(用來搜索一個指定的元素的位置)
var arr1 = [10, 20, '30', 'xyz'];
console.log(arr1.indexOf(10));
console.log(arr1.indexOf(20));
console.log(arr1.indexOf('30'));
console.log(arr1.indexOf('xyz'));
slice
就是String對就的substring,用來截取Array的部分元素,然後返回一個新的Array
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
console.log("從0到2:"+arr.slice(0,3));
console.log("3到最後:"+arr.slice(3));
如果不給slice()傳遞任何參數,它就會從頭到尾截取所有的元素,我們這樣可以複製Array;
var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
var aCopy = arr.slice();
console.log("aCopy爲:"+aCopy);
push和pop
push()向Array的末尾添加若干元素,pop()則把Array的最後一個元素刪除掉:
var arr = [1, 2];
arr.push('A', 'B'); // 返回Array新的長度: 4
arr; // [1, 2, 'A', 'B']
arr.pop(); // pop()返回'B'
arr; // [1, 2, 'A']
arr.pop(); arr.pop(); arr.pop(); // 連續pop 3次
arr; // []
arr.pop(); // 空數組繼續pop不會報錯,而是返回undefined
arr; // []
unshift和shift
如果要往Array的頭部添加若干元素,使用unshift()方法,shift()方法則把Array的第一個元素刪掉:
var arr = [1, 2];
arr.unshift('A', 'B'); // 返回Array新的長度: 4
arr; // ['A', 'B', 1, 2]
arr.shift(); // 'A'
arr; // ['B', 1, 2]
arr.shift(); arr.shift(); arr.shift(); // 連續shift 3次
arr; // []
arr.shift(); // 空數組繼續shift不會報錯,而是返回undefined
arr; // []
sort
可以對當前 Array進行排序,它會直接 修改當前 Array的元素位置,直接調用進,按照默認順序排序。
var arr = ['a','c','d'];
arr.sort();
console.log(arr);
reverse
把整個Array的元素給反轉:
var arr = ['c', 'b', 'a'];
arr.reverse();
console.log(arr);
splice:
var arr = ['Microsoft', 'Apple', 'Yahoo', 'AOL', 'Excite', 'Oracle'];
//刪除'Yahoo', 'AOL', 'Excite',然後添加'Google','Facebook'
arr.splice(2,3,'Google','Facebook');
//只刪除,不添加
arr.splice(2,2);
console.log(arr0);
console.log(arr.splice(2,3,'Google','Facebook'));
console.log(arr);
concat
把當前的Array和另一個Array連接起來,並返回一個新的Array
var arr = ['a','b','c'];
//生成一個新的Array
var addarr = arr.concat([1,2,3]);
console.log("addarr:"+addarr);
console.log("arr:"+arr);
join
把當前Array的每個元素都用指定的字符串連接起來,然後返回連接後的字符串,不會改變原來的字符串,會生成一個新的字符串
var arr = ['A', 'B', 'C', 1, 2, 3];
// arr.join('+');
console.log("join:"+arr.join('+'));
多維數組:
var arr = [
[1,2,3],
[4,5,6],
[7,8,9],
[[10,11,12],13,14]
];
console.log(arr[0]); //等於 [1,2,3]
console.log(arr[1][2]); //等於6
console.log(arr[3][0][1]); //等於11