一、什么是数组
在程序设计中我们需要使用变量来储存值,而当数据量增多,重复的声明操作就变得异常繁复,为了处理方便, 把具有相同类型的若干元素组织起来的一种形式,这种形式即称之为数组。
数组是一个有序的,值的集合。
每个值叫做元素,每个元素在数组中都有数字位置的编号,即索引。索引下标以0开始。
二、定义数组
数组对象用来在单独的变量名中存储一系列的值。
我们可以使用关键词 new 来创建数组对象,隐式创建,或创建时指定数组长度。
1.var arr = new array();
2.var arr = [];
3.var arr = new array(10);
三、数组的赋值
对数组进行赋值操作时,可以在以在已声明数组的合法位置进行赋值;当然也可以在声明数组时直接添加初始值。
var arr1= new array();
arr[0] = 'abc';
arr[1] = 'end';
arr[2] = 'hello';
arr[31] = 'world';
var arr2 = new array('abc','hello','world');
var arr3 = ['abc','hello','world']
四、数组的长度
无论用哪种方式,创建的数组都有一个属性length
var a = new array(); // a.length==0
a = new array(10); // a.length==10
a = new array(1,2,3); // a.length==3
a = [1,2,3,4,5,6]; // a.length==6
a[47] = 'asd'; // a.length==48
五、用for循环语句,给数组赋值。
var arr=[];
for(var i=0;i<10;i++){
arr[i]=i
};
六、数组的遍历
用数组的length属性来遍历整个数组
//数组的遍历
var saysth=['hello world','你号','你滴powerful'];
for(var i=0;i<saysth.length;i++){
alert(saysth[i]);
}
当数组元素不确定为连续的时候,就要加一个判断,看元素是否被定义了。
//数组的遍历
var saysth=['hello world','你号','你滴powerful'];
saysth[10]='思密达';
for(i in saysth){
if(saysth[i]!=undefined){//判断元素是否被定义了
alert(saysth[i]);
}
}
1.Array.map
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
map() 方法按照原始数组元素顺序依次处理元素。
var saysth=['hello world','你号','你滴powerful'];
saysth.map(function(e){
return e+=1
})
//["hello world1", "你号1", "你滴powerful1"]
2.Array.forEach
forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
var saysth=['hello world','你号','你滴powerful'];
saysth.forEach(function(e){
alert(e)
})
注意,若是你的项目要兼容ie或者老板仍然使用着android2.0+之类的情况存在,忘记这两条吧;
七、多维数组
数组a的元素b,还是一个数组那么a数组就是一个多维数组。
var a=new array();
a[0]=[1,2,3];
a[1] =['a','b','c','d'];
//多维数组元素的访问alert(a[1][0]);
八、数组的方法
1.Join()方法
Join()方法可以讲一个数组的所有元素都转换成字符串,然后再把他们连接起来。可以指定一个可选的字符串来分隔,如果没有指定,默认使用逗号分隔。
var s=['hello world','你号','你滴powerful'];
var a=s.join();
//"hello world,你号,你滴powerful"
2.reverse()方法
reverse()方法可以将一个数组的所有元素的顺序进行颠倒。
var s=['a','b','c'];
var a=s.reverse();
//["c", "b", "a"]
3.sort()方法
Sort()方法可以将一个数组的所有元素按字母进行排序。
var s=['b','c','a',20,2,,100,1,10];
var a=s.sort();
//[1, 10, 100, 2, 20, "a", "b", "c", empty]
4.concat()方法
Concat()方法可以连接连个数组,并且产生新的数组。
var s=['a','b','c'];
var b=[1,2,3];
var a=s.concat(b);
//["a", "b", "c", 1, 2, 3]
5.slice()方法
slice()方法可以返回一个指定数组的一处片段;
语法
Array.slice(start,end)
返回值
返回一个新的数组,包含从start到end(不包括该元素)的array中的元素。
参数 | 描述 |
Start | 必须,规定从何处开始选取,如果是负数那么他规定从数组北部开始算起的位置,也就是说-1值最后一个元素,-2旨倒数第二个元素,以此类推。 |
End | 可选,规定何处结束选取,该参数是数组片段结束处的数组下标,如果没有指定该参数,那么切分的数组包含从start到数组结束的所有元素,如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。 |
例:
var s = [1,2,3,4,5,6];
var a = s.slice(1,3);
//[2,3]
6.splice()方法
定义和用法
splice()方法向/从数组中添加/删除项目,然后返回被删除的项目。
tips:该方法会改变原始数组,
语法
arrayObject.splice(index,howmany,item1,……,itemX)
参数 | 描述 |
Index | 必须,整数,规定添加/删除项目的位置,使用负数可以从数组结尾处规定位置。 |
Howmany | 必须,要删除的项目数量,如果设置为0,则不会删除项目 |
Item1,…,itemx | 可选,向数组添加新的项目 |
例:
var s = ["a", "b", "c", "d"];
s.splice(2,0,"e","f");
//添加e,f原数组变成["a", "b", "e", "f", "c", "d"]
var s = ["a", "b", "c", "d"];
var a = s.splice(2,1);
//s = ["a", "b", "d"];a=["c"]
7.pop()方法
定义和用法
Pop()方法用于删除并放回数组的最后一个元素。
var s = ["a", "b", "c", "d"];
var a = s.pop();
//s=["a", "b", "c"];a="d"
返回值
ArrayObject的最后一个元素。
说明
pop()方法将删除arrayObject的最后一个元素,吧数组长度减一,并且返回他删除元素的值。如果数组已经为空,则pop()不改变数组,并返回undefined值。
8.push()方法
定义和用法
Push()方法可向数组的末尾添加一个或者多个元素,并且返回新的长度。
语法
Array.push(newelement1,newelement2,…newelementX)
返回值
把指定的值添加到数组后的新长度
参数 | 描述 |
Newelement1 | 必须。要添加到数组的第一个元素 |
Newelement1 | 可选。要添加到数组的第二个元素 |
NewelementX | 可选,可添加多个元素。 |
例:
var s = ["a", "b", "c", "d"];
var a = s.push('e','f');
//s=["a", "b", "c", "d", "e", "f"];a=6
9.shift()方法
定义和用法
Shift()方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
语法
var s = ["a", "b", "c", "d"];
var a = s.shift();
//s=["b", "c", "d"],a='a'
返回值
数组原来的第一个元素的值。
说明
如果数组是空的,那么shift()方法讲不进行任何操作,返回undefined的值,请注意,该方法不创建新数组,而是直接修改原有的arrayObject。
10.unshift()方法
定义和用法
Unshift()方法可以向数组的开头添加一个或更多元素,并返回新的长度。
语法
array.unshift(newelement1,newelement2,…,newelementX)
参数 | 描述 |
Newelement1 | 必须。要添加到数组的第一个元素 |
Newelement1 | 可选。要添加到数组的第二个元素 |
NewelementX | 可选,可添加多个元素。 |
九、es6\7\10新增
分别增加了不少东西,想了一下这篇基础先不写那么多了