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;