数组:数组是由多个元素组成的集合,是数据集合。每个元素就是一个数据
1、创建数组
(1)数组字面量
//创建数组
var emp=['tom','jerry',123];
console.log(emp);
注:数组中可以存放任意类型的数据
(2)内置构造函数
new Array(元素1,元素2.。。)
new Array(5) 初始化数组长度为5,可以添加多个
var car=new Array('宝马','保时捷','宝骏');
var country=new Array(5);
country[0]='China';
country[1]='america';
country[2]='俄罗斯';
country[3]='英国';
country[4]='法国';
2、数组内置属性及方法
(1)获取数组长度
数组.length
var user=new Array('zhangsangeng','zhangwuji','tianboguang');
console.log(user.length);
(2)、toString(),将数组中元素转为字符串,按照逗号分割
var arr=['a','b','c'];
var str=arr.toString();
(3)、join(),数组中的元素转为字符串,按照指定的字符分割数组中的元素
var str=arr.join('-');
console.log(str);
(4)、concat(),将多个数组进行合并
var arr1=['a','b','c'];
var arr2=['d','e','f'];
var arr3=arr1.concat(arr2);
(5)slice(start,end)截取数组中的元素,start开始的下标,end结尾的下标,不包含end本身;负数表示倒数第n个
var arr=['a','b','c','d','e','f','g','h'];
var arr1=arr.slice(1,3);
var arr2=arr.slice(4,6);
(6)splice(start,count,value1,value2)删除和替换以及添加元素,
start:开始的坐标,如果为负数,表示倒数第几个
count:删除的数量
value:删除后替换的元素
var arr=['语文','数学','英语','物理'];
var arr2=arr.splice(2,1,'js');
(7)reverse(),数组的顺序反转
var arr=['语文','数学','英语','物理'];
var arr1=arr.reverse();
(8)sort(),排序
注:默认是按unicode排序
var score=[56,87,90,56,100,89];
var arr=score.sort(
function(a,b){
//return a-b;//由小到大
return b-a;//由大到小
}
);
(8)push(),在数组末尾添加一个元素,返回值为当前数组的长度
var arr=['社会','新闻'];
var re=arr.push('财经');
(9)pop(),删除了数组末尾的元素,返回值为删除的元素
var arr=['社会','新闻'];
var re=arr.pop();
(10)unshift(),在数组开头添加一个元素,返回值为当前数组的长度
var arr=['推荐','热点','娱乐','财经'];
var re=arr.unshift('教育');
(11)shift(),删除数组开头的元素,返回删除的元素
var arr=['推荐','热点','娱乐','财经'];
var re=arr.shift();
3、数组分类
(1)、索引数组:以整数作为下标
var person[];
person[0]='tom';
(2)、关联数组:以字符串作为下标
var person=[];
person['name']='tom';
4、数组的遍历
(1)for 。。。 in
var person=[];
person[0]='tom';
person[1]='jerry';
person[2]='david';
for(var key in person){
console.log(key + ':' + person[key]);
}
注意:key 为数组的下标,即可以遍历关联数组,也可以遍历索引数组
(2)for循环,只能遍历索引数组
var list=['推荐','热点','社会','娱乐'];
for(var i=0;i<list.length;i++){
console.log(list[i]);
}