总预览
1.创建数组的方式和元素的添加
2.数组的遍历
3.数组的方法
4.数组的一些习题
1.创建数组的方式和元素的添加
创建方式
var arr = new Array(); 或者是var arr= [] (用的比较多)
添加方式
arr[0] = 19;//数组的索引从0开始 [19]
arr[1] = “www.hamkd.com”;// [19, ‘www…’] length=2
arr[2] = “www.aicoder.com”;
初始化1
var arr = new Array();// 创建一个空数组
var arr = new Array(3);//定义数组的容量为3个,3个undefined
var arr = new Array(“a”,“b”,“c”);
//定义一个数字,有a , b ,c 三个字符串
初始化2
var arr = [];//创建一个空数组
var arr = [1,2,3];//创建三个数字的数字。
var arr=[1, ,2];//中间的省略的是undefined
var arr = [1 ,”dd”,true, [1,3], { age: 19}, 33];
数组的元素的类型可以是任意类型。
2.数组的遍历
length属性
length属性,如果是连续数组,那么length就是数组元素的个数
如果是稀疏数组,那么length不能代表元素的个数 (所谓的稀疏数组是指下标不连续的数组)
var t = [1, 2];
t[100] = 'sslj';
console.log(t.length);//101,但是实际的元素只有3个
console.log(t[10]); //undefined
使用forin循环可以对稀疏数组的空值undefined进行过滤。
for(var k in t) {
console.log(k) //0,1,100
console.log(t[k]);//1,2,sslj
}
2.1数组的遍历
for的方式和使用for in的方式进行遍历
for的方式进行遍历
var a = [1,2,3,89, "slj", true];
for(var i = 0; i < a.length; i++) {
console.log(a[i]);
}
对于稀疏的数组就只能够使用for in进行遍历,
但是需要注意1:从原型上继承来的属性也会被for in遍历,所以如果需要去掉这部分属性可以通过hasOwnProperty()进行过滤。
示例:
所以我们需要使用hasOwnProperty()进行过滤
需要注意2:
遍历对象,拿到的是对象的属性名,而不是属性值。
for(var k in a) { // for in 遍历数组,k值是数组的索引编号,不是数组的元素值。
// k 0 ,1 ,2
console.log(a[k]); // k是索引编号不是数组元素值
}
案例:一个数组,合法值为1,2或3,其余为不合法,统计合法及不合法的个数。
var t = [1, 4, 9, 'sss', 3, '2', 2, 3, 2, 1];
var rigthfulNum = 0, // 合法的个数
illNum = 0; // 非法的个数
for(var k in t) {
// console
switch(t[k]) {
case 1:
case 2:
case 3:
rigthfulNum += 1;
break;
default:
illNum +=1 ;
}
}
console.log('合法:' + rigthfulNum);
console.log('非法:' + illNum);
3.数组的方法
3.1pop()/push()/shift()/sort()/concat()
pop(); //从数组尾部弹出