1、数组介绍:
数组:数组是一个数据的集合 ,也就是把数据放在盒子里,按照顺序排好;
例如:【1,2,3,‘hello’,true,false】
数组(array)也是复杂数据类型中的一种;
基本数据类型:number、string、boolean、undefined、null
复杂数据类型:function(函数)、object(对象)、array(数组)...
2、数组的创建:
数据就是一个【】,在【】里面存储着各种各样的数据,按照顺序依次排好;
💖第一种创建方式:按照字面量的方式:
<script>
var ageAll=[21,22,23,24]
var nameAll = ["yiyi","linlin","xianxian","didi"]
//创建对象
var obj1 = {
name :'lili',
age : 19,
location : "sz"
}
var obj2 = {
name :'didi',
age : 22,
location : "gz"
}
var objAll = [obj1,obj2]
//也可以是下面这样
var obj =[
{
name :'lili',
age : 19,
location : "sz"
},
{
name :'didi',
age : 22,
location : "gz"
}
]
</script>
数组里面也可以放对象数据类型的, ,,
💖第二种创建方式:通过内置函数Array创建:
注意:中间那个只给Array传递一个参数的时候,传递的参数的含义就是创建一个长度为几的数组,比如参数是10,也就是创建的数组里面有10个空位置;
2、length的用法:
测数组长度length:
<script>
var arr=[1,2,3,4]
console.log(arr.length)
//length可读可写,向下面还可以改长度
arr.length=3
console.log(arr)
//length更改长度这个点最常用的就是用来清空数组
arr.length=0
console.log(arr)
</script>
解释:测量一个数组的长度:数据名.length
length可读可写,它可以更改数组的长度,比如说上面的arr.length=3,结果打印出来的arr=【1,2,3】从数组的后面把4给删除掉了,但是length这个性质的主要用于清空数组,也就是:arr.length=0这样用
3、数组的排序
(1)冒泡排序
思路:从前往后让紧邻的两个数比较,大的放后面,小的放前面,依次类推,最终结果就是从小到大排列。通俗来讲就是第一个和第二个比较,第一个大就跟第二个调换位置,然后接着第二个和第三个比较,相同原理。
代码实现:
<script>
var arr=[4,3,2,1]
for(var m=0;m<arr.length-1;m++){
for(var i=0;i<arr.length-1-m;i++){
if(arr[i]>arr[i+1]){
var temp = arr[i]
arr[i] = arr[i+1]
arr[i+1] = temp
}
}
}
console.log(arr)
</script>
代码说明:这里的m代表的是要进行几轮比较,m<arr.length-1的含义是:一个数组排序最多进行比较的轮数是长度-1次(完全倒序排列的情况),比如说【4,3,2,1】最多轮数是3,还因为这个m是从0开始算起的,所以0,1,2属于三轮。下面i<arr.length-1-m的意思是:首先减1是因为i表示的是数组的索引,当i=4时,他就跟i=5进行比较了:arr【4】>arr[5],所以没必要再将i++了,所以i<arr.length-1(也就是说如果是arr.length=6,i<5,i=4即可);然后再减去m的含义是:前面几轮最大的数都到了最后面了,所以没必要每轮都全部的数进行比较,所以每一轮减去1,那m轮就减去m
图示:
(2)选择排序法
图示: