js Array(数组)对象

发布于:2023-01-31 ⋅ 阅读:(762) ⋅ 点赞:(0)

1.创建数组的方法

1).使用Array对象创建(var arr(名称) = new Array();)

2).使用字面量的方式(直接赋值)(var arr = [1, 2, 3, 4, 5])

2.数组的长度与怎么样获取数组中的元素

  • 数组的长度    数组名.length

怎么样获取数组中的元素

使用:数组名[下标]的方式(arr_2[1])数组下标是从0开始的,最大可以取到数组长度减一

3.想要打印出数组里面的所有元素(使用循环,for和for....in....都可以)

实例:(打印所有元素)

       var arr_4 = new Array(90, 50, 65, 70, 20, 10)
        for (var i = 0; i < arr_4.length; i++) {
            console.log(arr_4[i])
        }

效果:

 实例2:(打印一个数组里面的所有奇数之和)

  var arr = new Array(1, 10, 20, 3, 4, 5, 6, 11);
        var sum = 0;
        for (var i = 0; i < arr.length; i++) {
            //判断奇数
            if (arr[i] % 2 != 0) {
                sum += arr[i]
            }
        }
        console.log(sum)

效果:

 4.数组中常用的函数

  • push():向数组末尾添加一个元素,返回数组长度

  • unshift():向数组前面添加一个元素,返回数组长度

  • pop():删除数组中最后一个元素,并返回

  • shift():删除数组中最前面的一个元素,并返回

  • sort():进行升序(注:先将数组中的所有元素转换成字符串之后再进行)

  • reverse():倒序

  • 如果想将字符串类型的数组进行降序排列:可以先用sort(),然后再使用reverse()进行倒序

  • join():将数组以某个符号进行拼接,并返回一个字符串

  • concat():将某个元素添加到数组末尾和push有点像

  • splice():从指定位置删除指定长度的元素

  • slice():复制从指定位置到结束位置的元素(注:取不到结束位置的元素)

  • indexOf():获取指定元素的索引indexOf,如果没有则返回-1

比较函数

var arr_7 = [12, 13, 150, 15, 180, 70]
   // //比较函数
        // //定义一个比较函数:但a小于b的时,a在b前面,返回一个小于0的数,当a大于b时,a在b后面,返回一个大于0的数,当a等于b是,返回0
        function compare(a, b) {
            //升序
            // return a - b
            //降序
            return b - a
        }
        //利用比较函数实现升降排序
        console.log(arr_7.sort(compare))

效果:

 5.数组去重

1)数组去重不会影响原数组

实例:

  var arr_8 = [70, 20, 100, 20, 50, 60, 50, 70]
            //定义一个空数组用来存放不重复元素
        var newArray = [];
        for (var i = 0; i < arr_8.length; i++) {
            //判断将要添加到数组中的元素是否已经存在,如果不存在添加,存在不添加
            if (newArray.indexOf(arr_8[i]) == -1) {
                //讲不重复的元素添加到新数组
                newArray.push(arr_8[i])
            }
        }
        console.log(newArray)

效果:

 2)数组去重会影响原数组

实例:

     for (var i = 0; i < arr_8.length; i++) {
            var temp = arr_8[i]
            for (var j = i + 1; j < arr_8.length; j++) {
                if (arr_8[j] == temp) {
                    arr_8.splice(j, 1)
                }
            }

        }
        console.log(arr_8)

效果:

 

6.将数组中的元素反转,不使用reverse()函数 

元素两两交换

实例:

     //将数组中的元素反转,不使用reverse()函数
        var arr_9 = [10, 20, 30, 50, 40]
        for (var i = 0; i < arr_9.length / 2; i++) {
            var temp = arr_9[i] //跟他交换的是arr_9.length-i-1
            arr_9[i] = arr_9[arr_9.length - i - 1]
            arr_9[arr_9.length - i - 1] = temp

        }
        console.log(arr_9)

效果:

 7.清空数组方法

  • arr=[]

  • arr.length

  • arr.splice(0,arr.length)


网站公告

今日签到

点亮在社区的每一天
去签到