冒泡排序及随机函数(可能考到的面试题)

本文介绍了数组的声明与赋值,包括不同方式创建数组,并详细讲解了冒泡排序的实现原理,提供了优化的代码示例。同时,文章探讨了随机数生成函数`rand(min, max)`。最后,列举了一些常见的面试题,如if与switch的区别,==与===的差异,基本数据类型与引用数据类型的区别,以及浅拷贝与深拷贝的概念。
摘要由CSDN通过智能技术生成

先介绍一下数组,接下来是数组的简单声明与赋值。

数组

var arr1=new Array[]; var arr1 =new Array(5);此时当括号里只有一个值时它代表的是数组的长度。var arr1=new Array(1,2,3,4,5)此时括号里代表的是这个数组的元素。

下面介绍一下冒泡排序,冒泡排序在我们的代码中思想非常重要。

 先定义一个数组,使用两个for循环嵌套即可。第一层for是用来走几遍,这里要注意i<arr.length-1;这个-1是因为最后一个元素没有必要再进行比较,优化代码,让代码更简洁。内层for控制比较大小 -i是因为每次要把最大的元素放到数组的末尾,所以不用再进行比较。-1是防止越界。通过if语句进行判断,给一个空内存temp将大值传进去进行相互赋值,从而从打到小排序。运行结果如下:

  //冒泡排序

    var arr = [1, -5, 4, -8, 4, -6];

    for (var i = 0; i < arr.length - 1; i++) {

        //走几遍 -1是因为最后一个元素没必要比较

        for (var j = 0; j < arr.length - i - 1; j++) {

            //-i 是因为每次将最大的元素放在数组额末尾,不需要再进行比较

            //-1是防止越界

            if (arr[j] > arr[j + 1]) {

                var temp = arr[j];

                arr[j] = arr[j + 1];

                arr[j + 1] = temp;

            }

        }

    }

    console.log(arr);

 在这里再介绍一个随机数函数

function rand(min,max){
return Math.round(Math.random*(max-min)+min)}

下面是可能遇到的面试题,希望可以帮助到大家:

if与switch的区别:1.if得按照流程执行2.switch命中目标速度较快3.switch的case后必须跟常量表达式,有一定的限制。

==与===的区别:==只比较内容===不仅比较内容还比较数据类型

基本数据类型与引入数据类型的区别:基本数据类型存放在栈,引入数据类型存放在堆

深浅拷贝的区别:浅拷贝只拷贝地址,深拷贝拷贝内容

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值