数组 :一组数据有序的集合
数据属于引用数据类型,不属于基本数据类型
【1】创建数组
构造函数法
方式一:
var arr = new Array();/// 创建空数组,没有元素
方式二:
var arr = new Array(5);// 创建长度为5的数组,元素都是underfined
方式三:
var arr = new Array(5, 6, 7, 9);// 创建长度为4的数组,元素都是为5,6,7,9
字面量法:
方式四:
var arr = [];// 类似方式一
方式五:
var arr = [4, 52, 85, 54];// 类似方式三
【2】 数组的访问
访问数组元素:数组名[下标]
下标:元素所在的位置(0 ---到---总长-1(arr.length) )
总长度arr.length
数组,2元素的遍历:将元素一一打印
var arr = [1,2,3,4,5,6]
for (var i = 0;i<=arr.length-1;i++){
console.log(arr[i])
}
/* 数组api:数组中给我们封装好具有特定功能的函数
自定义函数:函数名
函数功能
函数的参数
返回返回值
函数体内部写逻辑
会改变原数组
1.push()
语法:arr。push(元素1,元素2,。。。)
含义:向数组的尾部追加一个或多个元素
返回值:有,返回的追加完之后数组的长度
2.pop()
语法:arr.pop()
含义:尾部删除一个
返回值:有,删除的元素
3.unshift()
语法:arr.unshift()
含义:向数组的头部追加一个或多个元素
返回值:有,返回的追加完之后数组的长度
4.shift()
语法:arr.unshift()
含义:向数组的头部删除一个或多个元素
返回值:有,删除的元素
5.reverse()
语法:数组元素逆序:
返回值:返回新的数组
6.sort()
数字排序,传递一个函数
语法:arr.sort(function(a,b){returna-b}) 从小到大排序
arr.sort(function(a,b){returnb-a}) 从小到大排序
7.splice()
语法:arr.splice(开始下标,个数)
语法:arr.splice(开始下标,个数。元素1,元素2,...)
含义:从开始位置删除n个
从开始位置删除n个,新增元素1,2.。。
返回值:把删除的元素返回
不会改变原数组:
1.concat()
语法:arr.concat(arr1)
作用:数组拼接
返回值:拼接好的数组
2、join() (*****)
语法arr.join('连接符')
作用:将数组元素用连接符连接后,以字符串形式返回
返回值:连接好的字符串
3、indexOf() (*****)
vararr = [12,34,46,3]
作用:查找元素首次出现的位置,
返回值:找到了返回该元素的下标位置,找不到返回-1
语法:arr.indexOf(元素)、
arr.indexOf(元素,下标);从下标位置开始查找
4、lastIndexOf()
作用:从后向前查找元素首次出现的位置,
返回值:找到了返回该元素的位置,找不到返回-1
语法:arr.lastIndexOf(元素)
arr.lastIndexOf(元素,下标);从下标位置开始查找
5、slice():
作用:从数组中切出来一个数组
返回值:切出来的数组
语法:arr.slice(开始位置,结束位置) 包左不包右
var arr = [12,3,4,23,54] arr.slice(1,3)---->[3,4,23]
数组去重:
// 思路:
// 1.定义一个空数组 var nwar = []
// 2.从arr数组中进行遍历
// 判断nwar中是否包含遍历过的元素,如果不包含,就放nwar
/* 第一遍历:12---》if(nwar.indexof(arr[i]==-1)){
将元素放到nwar中
第二遍历:12---》if(nwar.indexof(arr[i]==-1)){
将元素放到nwar中
} */
// var arr = [12,43,2,12,34,2,2,]
// var newarr = []
// for(i=0;i<arr.length;i++){
// if(newarr.indexOf(arr[i])==-1){
// newarr.push(arr[i])
// }
// }
// console.log(newarr)
二维数组:数组元素为数组
var arr = [[12,21,54],[54,85,64,],[54,54,65],[585,5514,44]]
双重for循环进行遍历,外层循环控制arr的元素,内层遍历一维数组内的数组
随机函数: Math.random()
a-b范围内包含a或者b的随机函数: parseInt(Math.random()*(b-a+1)+a)
随机函数
随机函数: Math.random()
a-b范围内包含a或者b的随机函数: parseInt(Math.random()*(b-a+1)+a)
数组中是否包含某个元素
function has(arr, n) {
var res;
for (var i = 0; i < arr.length; i++) {
if (arr[i] == n) {
res = true;
break;
} else {
res = false;
}
}
returnres;
}
var arr = [21, 43, 56, 34, 12, 34, 60, 34, 2]
console.log(has(arr, 60))