JavaScript中的Array和Map集合對象
1.Array
用於在單個變量中存儲多個值
- 創建
new Array();
new Array(size);
new Array(element0, element1, ..., elementn);
- 長度
arr.length;設置或返回數組中元素的數目。
- 賦值
var arr = new Array();
arr[0] = '555';
arr[1] = '666';
- 遍歷
arr.forEach(
function(a){
document.write(a);
}
);
for(var i = 0;i<arr.length;i++){
document.write(arr[i]);
}
for (var index in arr) {
document.write(index);//index為集合下標
}
for (var value of arr) {
document.write(value);//value為集合元素
}
- 常用方法
方法 | 描述 |
---|---|
concat() | 連接兩個或更多的數組,並返回結果。 |
join(',') | 把數組的所有元素放入一個字符串。元素通過指定的分隔符進行分隔(默認使用 ',')。 |
pop() | 刪除並返回數組的最后一個元素 |
push() | 向數組的末尾添加一個或更多元素,並返回新的長度。 |
reverse() | 顛倒數組中元素的順序。 |
sort() | 排序 |
toString() | 把數組轉換為字符串,並返回結果,元素之間使用‘,隔開’。 |
unshift() | 向數組的開頭添加一個或更多元素,並返回新的長度。 |
indexOf('tt') | 判斷集合中是否有‘tt’,如果有返回下標,沒有返回-1 |
2.Map集合
存放鍵值對集合
- 創建
var map = new Map();
var map = new Map([['dd','123'],['cc',666]]);
- 長度
map.size;
- 賦值
map.put();
- 遍歷
for(var key_value of map){
console.log(key_value);//返回一個數組['key','value']
}
// ["dd", "123"]
//["cc", 666]
for(var key_value of map.values()){
console.log(key_value);//遍歷屬性值
}
//123
//666
for(var key_value of map.entries()){
console.log(key_value);//
}
//["dd", "123"]
//["cc", 666]
map.forEach(
function(value,key,m){
console.log(key,value);//m是遍歷的map對象 {"dd" => "123", "cc" => 666}
}
);
//dd 123
//cc 666
- 常用方法
方法 | 說明 |
---|---|
clear() | 清空map集合 |
delete('key') | 刪除元素 |
get('key') | 返回指定key的value,不存在返回undefined |
has('key') | map中是否包含鍵對應的值,如果包含返回true |
set('key',value); | 設置map中的值,返回該map |
keys() | 按插入順序返回所有的key |
values() | 按插入順序返回所有的value |
3.JavaScript對象
var person = {firstName:"Bill", lastName:"Gates", age:62, eyeColor:"blue"};
person.key1 = "aaa";//向對象添加新的屬性
person.key2 = "bbb";
person.key3 = "ccc";
person['key4'] = "ddd";
person['key5'] = "eee";
//遍歷
for(var key in person){
console.log(key);
}
//注意! 這種map不能使用for(var value of map)遍歷
console.log(person.hasOwnProperty('key1'));
- 訪問對象屬性
person.key1;
person['key1']
- 刪除對象屬性
delete person.age;