数组

134 阅读2分钟

数组的定义方式

1)var arr = [];
2)var arr = new Array(); 

数组

var arr=[1,5,45,"差距" ,55 ,7]
console.log( arr[0]) --1
console.log( arr[1]) --5
console.log( arr[2]) --45
console.log( arr[3]) --差距
console.log( arr[4]) --55
console.log( arr[5]) --7
console.log(arr.length)-- 6

添加

arr[6]=9
console.log( arr[6]) --9

修改

arr[3]=7
console.log( arr[3]) --7

排序 (冒泡算法)

var arr = [4, 1, 55, 11, 12, 50, 24]
    for(var i = 0; i <= arr.length - 1; i++) {
        for(var j = 0; j <= arr.length - i - 1; j++) {
            if(arr[j] > arr[j+1]) {
                var temp = arr[j]
                arr[j] = arr[j+1]
                arr[j+1] = temp;
            }
        }
    }
    console.log(arr)

从小到大排序 冒泡解析

通过二个for循环完成排序
if判断语句:判断谁大并将  最大值放到后面:(通过添加一个变量完成数值交换)
内循环:把内循环的最大的数值放到最后
外循环:通过多次把最大值放到最后面完成排序
var temp = arr[j] --将arr[j]的值赋给temp
arr[j] = arr[j+1] --将arr[j+1]的值赋给arr[j]
arr[j+1] = temp; --将temp的值赋给arr[j+1]
比如 j=0 时
var temp =4; --添加变量
arr[j] = 1;
arr[j+1] = 4 --完成交换

内循环 (当外循环i=0时)

for(var j = 0; j <= arr.length  - 1; j++) {
            if(arr[j] > arr[j+1]) {
                var temp = arr[j]
                arr[j] = arr[j+1]
                arr[j+1] = temp;
            }
        }
    
    console.log(arr)  
/* 输出结果             0: 1
                       1: 4
                       2: 11
                       3: 12
                       4: 50
                       5: 24
                       6: 55
                    把最大值放到了最后面   
*/ 通过进行多次内循环:(外循环)完成排序

从大到小排序 只需把 if中大于号改为小于号即可

翻转

var arr = [1, 2, 3, 4, 5, 6]
    var newArr = [];
    for(var i = arr.length - 1; i >= 0; i--) {
        newArr[newArr.length] = arr[i]
    }
    console.log(newArr)
解析 将arr数组中最后的数值: (arr.length - 1)赋值给新数组 newArr中第一个数值 
newArr[newArr.length]  倒数的二个值 付给的第二个值 以此反复完成翻转