day0324

day0324

debugger

用debugger阻止复制

数组

var arr = [1, 2, 3, 4, 5];

arr.a = 10;
arr.b = 20;
arr.c = function () {
   

}

console.log(arr);

在这里插入图片描述

遍历数组

3个方法,之后还一个

1.for循环

只能遍历索引值,不能遍历到组数组的属性和方法

遍历每一个元素,包含空元素,以数字下标遍历所有元素,不包含数组的属性和方法

for (var i = 0; i < arr.length; i++) {
   
    console.log(arr[i], i)
}

在这里插入图片描述

2.forEach

不能遍历空元素

遍历除空元素外的所有其他元素,不遍历数组额度属性和方法

arr.forEach(function (item, index) {
   
    console.log(item, index);
})

在这里插入图片描述

3.for in

不能遍历空元素 遍历的是对象

将数组的下标转换为字符串,并且遍历所有非空元素和数组的方法和属性

for (var prop in arr) {
   
    console.log(arr[prop], prop);
}

在这里插入图片描述

排序

冒泡、选择、快排 面试常考

var arr = [1, 2, 4, 0, 1, 10, 9, 24, 17, 13, 6, 5];

桶排序

var obj = {
   };
for (var i = 0; i < arr.length; i++) {
   
    obj[arr[i]] = arr[i];
}

console.log(obj);

key与value要相同,不能有重复元素
在这里插入图片描述

冒泡排序

for (var i = 0; i < arr.length; i++) {
   
    for (var j = 0; j < arr.length - 1 - i; j++) {
   
        if (arr[j] > arr[j + 1]) {
   
            var temp = arr[j];
            arr[j] = arr[j + 1];
            arr[j + 1] = temp;
        }
    }
}

console.log(arr);

在这里插入图片描述

选择排序

for (var i = 0; i < arr.length - 1; i++) {
   
    var min = i;
    for (var j = i + 1; j < arr.length; j++) {
   
        if (arr[min] > arr[j]) {
   
            min = j;
        }
    }
    if (i !== min) {
   
        var temp = arr[i];
        arr[i] = arr[min];
        arr[min] = temp;
    }
}

console.log(arr);

在这里插入图片描述

快速排序 需要递归

pivot英文:支点,枢轴,中心,

function quickSort(elements) {
   
    if (elements.length <= 1) return elements;
    var pivotIndex = Math.floor(elements.length / 2);
    var pivot = elements.splice(pivotIndex, 1)[0];//将支点元素拿出来
    var left = [];
    var right = [];
    for (var i = 0; i < elements.length; i++) {
   
        if (elements[i] < pivot) {
   
            left.push(elements[i]);
        } else {
   
            right.push(elements[i]);
        }
    }
    return quickSort(left).concat([pivot], quickSort(right));
}

arr = quickSort(arr);
console.log(arr);

在这里插入图片描述

reverse()

反转数组,返回原数组

reverse英文:颠倒,使反转,相反的

区分reserve:预定,储备,拥有,保持
在这里插入图片描述

var arr = [1, 2, 3, 4, 5, 6, 7];
var arr1 = arr.reverse();
console.log(arr,arr1);

在这里插入图片描述

重构:

function array_reverse(arr) {
   
    for (var i = 0; i < parseInt(arr.length / 2); i++) {
   
        var temp = arr
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值