js基础中如何对数组进行冒泡,选择排序,如何获取数组中的最大最小值

目录

 1.创建对象

1基本操作

2.遍历对象

2.数组常用方法

1.选择排序

2.冒泡排序

3.获取数组中的最大/小值 


 1.创建对象

创建对象有两种方法(1,字面量创建,2,new一个出来)

<script>
        // 创建对象
        // 通过字面量的方法创建
        var obj = {}
        obj.name = 'shanyu';
        console.log(obj);
        var obj1 = {
            name: 'shanyu',
            age: 18,
            say: function a() {
                console.log('别说话');
            }
        }
        obj1.say();
        console.log(obj1);
        // 内置构造函数的方法创建(没对象,就new一个出来)
        var obj2 = new Object()
        obj2.name = 'shanyu';
        console.log(obj2);
    </script>

1基本操作

增删改查(两种方法都可以进行增删改查操作)

<script>
        // 方法one
        // 增
        var obj = {}
        obj.name = '山鱼';
        obj.age = 13;
        console.log(obj);
        // 查
        document.write('name' + obj.name);
        // 改
        obj.age = 33;
        console.log(obj);
        // 删
        delete obj.age;
        console.log(obj);
        // 方法two
        // 增
        var obj1 = {}
        // 如果此时name不加''号,就会编程一个全局变量
        obj1['name'] = '狗蛋';
        obj1['age'] = 23;
        // 查
        console.log(obj1);
        // 改
        obj1['name'] = '二姑';
        console.log(obj1);
        // 删
        delete obj1['name'];
        console.log(obj1);
    </script>

2.遍历对象

使用for in 来对对象进行遍历

<script>
        var obj = {};
        obj.name = '山鱼';
        obj.age = 14;
        for (var i in obj) {
            // 这里的i就是对象里的键obj[i]就是值
            // console.log(obj[i]);
            document.write(i + obj[i] + '<br>')
        }
    </script>

2.数组常用方法

使用push,pop/unshift,shift进行从后或者是从前进行数组元素的添加和删除

<script>
        // 使用push在数组最后添加一个新数组元素
        var arr = [1, 2, 3, 4];
        var res = arr.push('山鱼');
        // push的返回值是添加完后的数组长度
        console.log(res); // push的返回值是5(数组长度)
        console.log(arr);
        // pop
        var respop = arr.pop()
        console.log(arr);
        console.log(respop);// push的返回值是被删除的那个数组元素
        // 使用unshift在数组最前面添加一个新数组元素
        var resunshift = arr.unshift('猪猪');
        console.log(arr);
        console.log(resunshift);
        // shift 前面删除元素
        var resshift = arr.shift();
        console.log(arr);
        console.log(resshift);
    </script>

1.选择排序

选择排序就是:每一趟从待排序的数据元素中选择最小(或最大)的一个元素作为首元素,直到所有元素排完为止。

<script>
        var arr = [2, 4, 2, 12, 3, 0, 55];
        for (var m = 0; m < arr.length - 1; m++) {
            var minIndex = m
            for (var i = m + 1; i < arr.length; i++) {
                if (arr[i] < arr[minIndex]) {
                    minIndex = i
                }
            }
            if (minIndex !== m) {
                var temp = arr[m]
                arr[m] = arr[minIndex]
                arr[minIndex] = temp
            }
        }
        console.log(arr);
    </script>

2.冒泡排序

<script>
        var arr = [1, 2, 1, 3, 4, 5, 6, 4, 433, 9]
        for (var i = 0; i < arr.length - 1; 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);

3.获取数组中的最大/小值 

        var arr2 = [1, 9, 3, 4, 5, 6, 0, 6];
        var max = arr2[1];
        var min = arr2[0];
        for (var i = 0; i < arr2.length; i++) {
            if (max < arr2[i]) {
                max = arr2[i];
            }
            if (min > arr2[i]) {
                min = arr2[i]
            }
        }
        console.log(max);
        console.log(min);

 

点赞👍:您的赞赏是我前进的动力!
收藏⭐:您的支持我是创作的源泉!
评论✍:您的建议是我改进的良药!
山鱼🦈的个人社区:欢迎大家加—— 山鱼社区

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Aic山鱼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值