一、数组的概念
数组对象是使用单独的变量名来存储一系列的值。
二、创建数组
创建一个数组,有三种方法。下面的代码定义了一个名为 myNews数组对象
1.常规方式:
var myNews=new Array();
myNews[0]="name";
myNews[1]="age";
myNews[2]="sex";
2: 简洁方式:
var myNews=new Array("name","age","sex");
3: 字面:
var myNews=["name","age","sex"];
三、访问数组
通过指定数组名以及索引号码,可以访问某个特定的元素。
注意:[0]是数组的第一个元素,[1]是数组的第二个元素
四、在一个数组中可以有不同的对象
所有的JavaScript变量都是对象。数组元素是对象。函数是对象。因此,在数组中有不同的变量类型。
var arr=new Array();
arr[0]=1;
arr[1]="a";
arr[2]=new Object();
arr[3]=false;
arr[4]=null;
arr[5]=undefined;
console.log(arr);
五、数组字符串
1.toString() 转换成字符串
var a=[2,4,3,1];
console.log(a.toString()); //输出 2,4,3,1
2.shift() 删除数组第一个元素,并返回删除的元素,对原数组有影响
console.log(a.shift()); //输出 2
console.log(a); //输出[4,3,1]
3.pop() 删除数组最后一个元素,并返回删除的元素,对原数组有影响
console.log(a.pop()); //输出结果 1
console.log(a); //输出结果[2,4,3]
4. unshift() 给数组的前面追加,返回的是数组的长度,对原数组有影响
console.log(a.unshift(0)); //5
console.log(a); //输出结果 [0,2,4,3,1]
5.push() 给数组的后面追加,返回的是数组的长度,对原数组有影响
console.log(a.push(0)); //输出5
console.log(a); //输出 [2,4,3,1,0]
6.slice() 已有的数组中返回选定的元素,参数为起始位置和终点位置 ,对原数组没有影响
console.log(a.slice(0,3)); //取小不取大 输出结果[2,4,3]
7.splice() 方法用于添加或删除数组中的元素,对原数组有影响
var arr=["i","love","you"];
arr.splice(3,0,"too");
console.log(arr); //输出结果 ["i", "love", "you", "too"]
如果仅删除一个元素,则返回一个元素的数组。 如果未删除任何元素,则返回空数组。
var svg=[1,2,3,"hello"];
console.log(svg.splice("3",1)); //输出结果 ["hello"]
console.log(svg.splice("0",0)); //输出结果[]
console.log(svg); //输出结果 [1,2,3]
8.split()把一个字符串分割成字符串数组,不影响原字符串
var str="You are beautiful";
var n=str.split(" ");
console.log(n) //输出结果 ["You", "are", "beautiful"]
/*使用一个字符作为分隔符:*/
var t=str.split("u");
console.log(t); //["Yo", " are bea", "tif", "l"]
/*分割每一个字符 包括空格*/
var m=str.split("");
console.log(m); //中间没有空格 输出结果 ["Y", "o", "u", " ", "a", "r", "e", " ", "b", "e", "a", "u", "t", "i", "f", "u", "l"]
/* 使用 limit 参数:*/
var g=str.split(" ",2); /*输出结果2位 ["You", "are"]*/
console.log(g);
/* 省略分割参数*/
var c=str.split();
console.log(c); /*结果是数组只有一个值 ["You are beautiful"]*/
9.join() 把数组中的所有元素转换为一个字符串
var arr=["name","age","sex"];
var l=arr.join();
console.log(l); //输出结果 name,age,sex
10.sort() 方法用于对数组的元素进行排序。
排序顺序可以是字母或数字,并按升序或降序。默认排序顺序为按字母升序
var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log( fruits.sort()); //输出结果["Apple", "Banana", "Mango", "Orange"]
11.reverse() 方法用于颠倒数组中元素的顺序
var fruits = ["Banana", "Orange", "Apple", "Mango"];
console.log( fruits.reverse()); //输出结果 ["Mango", "Apple", "Orange", "Banana"]
六、遍历数组
常用方法有三种 for, for-in, forEach
var arr=[1,2,3,4,5];
for(var i=0;i<arr.length ;i++){
console.log(arr[i]); //输出结果 1 2 3 4 5
}
var my=new Array ("you","are","beautiful");
for(var key in my){
console.log(my[key]); //输出结果 you are beautiful
}
forEach()函数从头到尾把数组遍历一遍。有三个参数分别是:数组元素,元素的索引,数组本身(如果是一个参数就是数组元素,也就是数组的值)
var a=[1,2,3,"Hello",4,5]
a.forEach(function (value,index,items){
if(value=="Hello")
{
items.splice(index,1); /* slice(); */ /*操作完之后对原数组无影响*/
}
})
console.log(a); // 输出结果 [1, 2, 3, 4, 5]