认识数组:
变量储存一个数据
数组:存储一组数据。(存储一组任意类型的数据)
定义:一组数据的有序集合
如何显示数组:
字面量法:
var arr =[20,22,34,24,23]
构造函数法:
var arr = new Array(20,22,34,24,23)
var arr = new Array(10) //代表储存了10个数据,内部一个数据也没有 都是空的
<script>
var arr =[20,22,34,24,23]
// 0 1 2 3 4
// 打印所有的数组
console.log(arr)
// 一个一个的打印
console.log(arr[0]);
console.log(arr[1]);
console.log(arr[2]);
console.log(arr[3]);
console.log(arr[4]);
//如何获取元素总个数 arr.length
console.log(arr.length)
//获取的是最后一个元素
console.log(arr.length-1)
//数组的遍历,元素一个一个的找一遍
for (var i=0;i<=arr.length-1;i++){
console.log(arr[i])
}
//for...in 语句
// for(var k in arr){
// console.log(k);
// // console.log(arr[k]);
//}
</script>
数组的遍历
for循环
<script>
for (var i=0;i<=arr.length-1;i++){
console.log(arr[i])
}
</script>
for …in…
<script>
//for...in 语句
for(var k in arr){
console.log(arr[k]);
}
</script>
二维数组(了解)
<script>
var arr=[[1,2,3,4],[3,45,2,3],[53,4,23,54,6]];
for(var i=0;i<arr.length;i++){
for(var j=0;j<arr[i].length;j++){
document.write(arr[i][j]+" ");
}
document.write("<br>")
}
</script>
js内置函数(方法)--------api:
会改变原数组的:
1、push()
语法: arr.push(元素1,元素2,元素3)
含义:向arr数组尾部追加一个或多个元素;
返回值:追加后数组的长度
示例:
<script>
var arr = [23,54,24,33];
var res1 = arr.push("新增的1","新增的2")
console.log(arr);
console.log(res1);
</script>
2、pop()
语法:arr.pop()
含义:从数组中删除尾部的最后一个元素
返回值:删除的那个元素
<script>
var arr = [23,54,24,33];
var res1 = arr.pop()
console.log(arr);
console.log(res1);
</script>
3、unshift()
语法:arr.unshift(元素1,元素2,元素3)
含义:向arr数组头部追加一个或多个元素;
返回值:追加后数组的长度
<script>
var arr = [23,54,24,33];
var res1 = arr.unshift("新增的1","新增的2")
console.log(arr);
console.log(res1);
</script>
4、shift()
语法:arr.shift()
含义:从数组arr中删除头部的第一个元素
返回值:删除的那个元素
<script>
var arr = [23,54,24,33];
var res1 = arr.shift()
console.log(arr);
console.log(res1);
</script>
5、元素排序 sort()
语法:arr.sort(funcation(a,b){
return a-b})
注意:a-b 从小到大,b-a 从大到小
含义:给arr进行排序
返回值:排序后的数组
练习:
<script>
var arr = [65, 43, 56, 33, 67, 97, 65, 88, 65, 57]
var newarr = arr.sort(function(a,b) {return a - b;})
console.log(newarr);
console.log(arr);
var min = newarr.shift();
console.log(min);
var max = newarr.pop();
console.log(max);
console.log(arr);
var sum = 0;
for(var i=0;i<=arr.length-1;i++){
sum+=arr[i]
}
// console.log(sum/arr.length);
console.log((sum/arr.length).toFixed(2));
</script>
6、reverse()
语法:arr.reverse()
含义:数组逆序,
返回值:逆序后的数组
练习:
<script>
var arr = [65, 43, 56, 33, 67, 97, 65, 88, 65, 57]
var res = arr.reverse()
</script>
7、splice()
语法:arr.splice(下标,个数)
arr.splice(下标,个数,新增元素)
含义:arr.splice(下标,n)删除从下标开始的n个元素
arr.splice(下标,n,新增元素)删除从下标开始后的n个数,再新增元素
返回值:以数组的形式将删除的元素返回
示例:
<script>
//arr.splice(下标,n)删除从下标开始的n个元素
var arr=[12,43,54,67];
var res=arr.splice(1,2)
console.log(arr)//[12,67]
console.log(res)//[43,54]
//arr.splice(下标,n,新增元素)删除从下标开始后的n个数,再新增元素
var arr=[12,43,54,67];
var res=arr.splice(1,1,5,4,4)
console.log(arr)//[12,54,5,4,4,67]
console.log(res)//[43]
var arr=[12,43,54,67];
var res=arr.splice(1,0,5)
console.log(arr)//[12,5,43,54,67]
//未删除则返回空数组
console.log(res)//[ ]
</script>
不会改变原数组的
1、concat()
语法:arr.concat(arr1)
含义:把arr与arr1拼接到一起
返回值:新的数组;
<script>
var arr = [1,2,3]
var arr1 = [1,2,3]
var res=arr.concat(arr1)
console.log(res);
</script>
2、join() *******
语法:arr.join(”符号“)
含义:将数组元素用符号拼接成一个字符串
返回值:新的数组;
<script>
var arr = [1,2,3]
var res=arr.join("-")
console.log(res);
</script>
3、indexOf()***
语法:arr.indeOf(元素)
含义:查找元素首次出现的下标位置,找不到就是-1
返回值:下标/-1
<script>
var arr = [1,2,3,4,3,2]
var res=arr.indexOf(2)
console.log(res);
</script>
4、lastIndexOf()***
语法:arr.lastIndexOf(元素)
含义: 从后向前找元素第一次出现的下标位置 找不到就是-1
返回值:下标/-1
<script>
var arr = [1,2,3,4,3,2]
var res=arr.lastIndexOf(2)
console.log(res);
</script>
5、slice()
语法:arr.slice(开始下标,结束下标) arr=[1,2,3,4] arr.slice(1,3)
含义:从数组中切出来一个数组(包左不包右)
返回值:切掉的数组
<script>
var arr = [1,2,3,4,5]
var res=arr.slice(2,3)
console.log(res);
</script>