数组:
存放一些数据类型 ,也是引用数据类型(数组/对象/函数)
数组内部是存放一些数据,但是没有上限,一般需要将数组内的数据类型,限制为,纯字符串,纯数字,纯对象数组
创建数组:
2 创建数组分两种:
1 字面量创建 var arr = [ ]
2 内置构造函数的方式创建 var arr = new Array()
数组的长度与索引:
长度不固定,取决与数组内的元素有多少
length 代表长度
下标:
从0开始一次往后排,固定的,对应下标的内容不固定
案例:
-
找出数组中的最大值
-
定义一个数组
-
var arr = [4,5,7,8,9,0,86,,5]
-
定义一个变量 这个地方存储的是最大值
-
var max = 0
-
// 循环各个数字进行比较 for(var i = 0; i < arr.length; i++){
-
// 这里比较存储的最大值
-
if(max < arr[i]){ max = arr[i] }
-
}
-
console.log('最大值',max)
-
计算数组中所有内容相加的和
-
// 定义一个数组
-
var arr = [4,5,7,8,9,0,86,5]
-
存储的和
-
var he = 0
-
for(var i = 0; i < arr.length; i++){ he += arr[i] }
-
console.log(he)
3封装一个函数, 名为 includes //功能为 传入一个数组和数字, 判断这个数组中是否包含这个数字 //包含返回true, 否则返回 false // // 封装一个函数 function includes(Q,a) { for (var i = 0; i < arr.length; i++) { 判断这个数组里面是否包含这个数字,包含就返回true,反之就返回false if (arr[i] === a) { return arr[i] === a } } return false } 编译一个数组 var arr = [4, 5, 7, 8, 9, 0, 86, 5] console.log(includes(arr, prompt() - 0))
- 封装一个函数, 名为 indexOf // 功能为 传入一个数组和数字, 判断这个数组中是否包含这个数字 //包含返回 这个数字的下标(从左到右第一个) // 否则返回 -1 // 这是下标从左像右
- function indexOf(z,b){
- 从左像右 正常 for(var i = 0; i < arr.length; i++){
- // 这是从右往左
- for(var i = arr.length - 1; i >=0 ; i--)
- if(b === arr[i]){ return i } } return -1 }
- var arr = [4, 5, 7, 8, 9, 0, 86, 5]
- console.log(indexOf( arr, prompt() - 0 ))
// 5 数组 冒泡排序
var arr = [4, 5, 7, 8, 9, 0, 86, 5] // //
外面大的循环,循环的是趟数 // // 外层循环减一 ,就剩下一个位置和一个数字 没有验证了 所以没必要执行最后一次了, 因为没有多的位置 //
for (var o = 0; o < arr.length - 1; o++) {
外面小的循环,循环的是里面数字交替的次数 //
for (var i = 0; i < arr.length - o - 1; i++) {
// // 判断条件
if (arr[i] > arr[i + 1]) {
数组的前后两项交换
var temp = arr[i] // arr[i] = arr[i + 1] // arr[i + 1] = temp } } } console.log(arr)
// 6 选择排序
var arr = [4, 5, 7, 8, 9, 0, 86, 5]
外层循环
for (var i = 0; i < arr.length; i++) {
计数器 存储一个假定的值
var min = i //
内层循环 每次循环加一
for (var k = i + 1; k < arr.length; k++) {
// 判定 假定的值如果大于数组里面的值,那么就要等于我
if (arr[min] > arr[k]) { min = k } }
// 变量交换 空值 赋值 内层循环里面的数值
var temp = arr[i]
// 假定的值 arr[i] = arr[min]
假定的值 arr[min] = temp }
console.log(arr)