JavaScript Array(数组)对象
数组对象的作用就是:使用单独的变量名来存储一系列值
数组的创建 数组的使用 数组的遍历 数组的方法
1.创建数组
1.创建一个长度为0的数组
var x = new Array();
console.log(x, x instanceof Array)x是否是数组
-------结果------
[] true
2.创建一个长度为5的数组
var y =new Array(5);
console.log(5)
-------结果------
(5) [empty*5]
3.创建一个指定长度的组数,并赋值变量值
var x =new Array(元素1,元素2,元素3)
console.log(x)
-------结果------
(3) [元素1,元素2,元素3]
4.字面量数组var Array=[数值1,数值2];
同三题//
2.数组的使用
1.数组索引的访问[0,length-1]
var x =['a','q','k','y']
console.log(x)
console.log(x[0])
console.log(x[10])
-------结果------
(4)['a','q','k','y']
a
undefined
2.数组索引修改,可以修改
var x =['a','q','k','y']
console.log(x)
x[0]="奇酷";
console.log(x)
-------结果------
(4)['a','q','k','y']
(4)['奇酷','q','k','y']
3.数组的遍历
1.普通for循环遍历
代码如下(示例):
1.数组的普通遍历
var x=[1,5,6,8,6];
for(var i=0;i>x.length;i++){
console.log(x[i])
if(i==2){
x[i]*=10;
}
}
console.log(x)
-----结果-----
(5) [1,5,6,8,6]
(5) [1,5,60,8,6]
2.forEach数组遍历
代码如下(示例):
2.数组内部遍历方法 forEach
var x=[3,2,5,4,8,6,9]
var y=x.forEach(function(value,index,arr){
console.log(value)
})
------结果-------
3
2
5
4
8
6
9
3.Map数组遍历
代码如下(示例):
2.数组内部遍历方法 forEach
var x=[3,2,5,4,8,6,9]
var y=x.map(function(value,index,arr){
return value*2
})
console.log(value)
------结果-------
(7)[6,4,10,8,16,12,9]
4.数组遍历过滤filter 返回新数组
代码如下(示例):
3.数组内部遍历方法 filter
var x=[3,2,5,4,8,6,9]
var y=x.filter(function(value,index,arr){
return value%2==0;
})
console.log(y)
------结果-------
(7)[2,4,8,6]
四 数组的方法
增 删 改 查 链接 切片 排序 反序
代码如下(示例):
1.增
var names=["唐三藏","孙悟空","猪悟能","沙悟净","白龙马"]
names.push('张张') //push末尾增加
names.unshift("憨憨") //unshift 开头增加
console.log(name)
//指定位置添加
names.splice(3,0,"皮皮")
console.log(names)
-----结果------
(7)["憨憨","唐三藏","孙悟空","猪悟能","沙悟净","白龙马","张张"]
(8)["憨憨","唐三藏","孙悟空","皮皮","猪悟能","沙悟净","白龙马","张张"]
2.删
var names=["唐三藏","孙悟空","猪悟能","沙悟净","白龙马"]
names.shift() //shift开头删除
console.log(name)
names.pop() //pop末尾删除
console.log(name)
//指定位置添加
names.splice(2,1)
console.log(names)
-----结果------
(4)["孙悟空","猪悟能","沙悟净","白龙马"]
(3)["孙悟空","猪悟能","沙悟净"]
(2)["孙悟空","猪悟能"]
3.改
var names=["唐三藏","孙悟空","猪悟能","沙悟净","白龙马"]
console.log(names)
names[2] = '猪八戒'
console.log(names)
-----结果------
(5) ["唐三藏", "孙悟空", "猪八戒", "沙悟净", "白龙马"]
-1
4.查indexOf
var names=["唐三藏","孙悟空","猪悟能","沙悟净","白龙马"]
console.log(names)
console.log(names.indexOf('红孩儿')) // 返回查找的索引,找不到返回-1
-----结果------
(5) ["唐三藏", "孙悟空", "猪悟能", "沙悟净", "白龙马"]
-1
5.链接合并.concat
var x = [1,2,3]
var y = ['a','b','c']
var z = x.concat(y);
console.log(z)
console.log(x)
console.log(y)
console.log(y.join('!')) // 链接数据转换为字符串
-----结果------
(6) [1, 2, 3, "a", "b", "c"]
(3) [1, 2, 3]
(3) ["a", "b", "c"]
a!b!c
6.排序sort reverse反序
var x = [17,5,7,2,2,63,8,4]
// 排序方法
x.sort(function(a,b){
return a>b
})
console.log(x)
x.reverse() // 反序
-----结果------
[2, 2, 4, 5, 7, 8, 17, 63]
[63, 17, 8, 7, 5, 4, 2, 2]
7.切片【slice() 切片数组】
var x= 'abcdehgisdldasff'.split("")
console.log(x)
console.log(x.slice(2,5))
-----结果------
(16) ["a", "b", "c", "d", "e", "h", "g", "i", "s", "d", "l", "d", "a", "s", "f", "f"]
(3) ["c", "d", "e"]
方法 | 描述 |
---|---|
concat() | 连接两个或更多的数组,并返回结果。 |
join() | 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。 |
pop() | 删除并返回数组的最后一个元素 |
push() | 向数组的末尾添加一个或更多元素,并返回新的长度。 |
reverse() | 颠倒数组中元素的顺序。 |
shift() | 删除并返回数组的第一个元素 |
slice() | 从某个已有的数组返回选定的元素 |
sort() | 对数组的元素进行排序 |
splice() | 删除元素,并向数组添加新元素。 |
toString() | 把数组转换为字符串,并返回结果。 |
toLocaleString() | 把数组转换为本地数组,并返回结果。 |
unshift() | 向数组的开头添加一个或更多元素,并返回新的长度。 |
valueOf() | 返回数组对象的原始值 |