js --- 数组(1)数组的创建,下标,常用方法

    数组:

        数组也是js中的一个数据类型,他是一个复杂(引用)数据类型,单词是Array在数组中也可以存储很多条数据

        数组他是一个有序的集合。数据都是按照顺序排列的,每一条数据都拥有一个属于自己的编号创造数组的方式

方式一:字面量方式创建

创造一个空数组: var数组名=[]
//创造了一个名字为arr的变量,赋值为一个数组,但是这个数组中是没有数据的,他是一个空数组
//var arr = [ ]
//console.log( arr);
创造一个带有数据的数组: var数组名=[数据1,数据2,数据3...]
数组中可以存储很多不同类型的数据,但足我们一般建议最好存相同类型的数据
//创造一个带有数据的数组
//创造了一个名字叫做arr的变量,赋值为一个数组,这个数组中的数据为: 100,80,200,50
//var arr = [100, 80,200,50,"哈哈',‘呵呵呵' ,true]
//console.log( arr);

方式二:内置构造函数方式创建

创造一个空数组: var数组名= new Array ()
//内置构造函数方式创造空数组
//var arr = new Array ()
//console.log( arr);
创造带有数据的数组: var数组名= new Array(数据1,数据2,数据3...)
//内置构造函数方式创造带有数据的数组
// var arr = new Array ( 100,200,58, 90,65, 'hehe' )
// console.log(arr);
特殊情况:
如果用这种方式创建,小括号只写了一个数字,那么这个数字就不是数组的数据了,而变成数组的长度了
数组的长度:其实就是数组中有多少条数据
//内置构造函数的特殊情况﹐创造了一个长度为10的数组,但是每一个位置目前还没有数据,暂时用empty表示
// var arr = new Array ( 180)
// console.log(arr) ;

数组的下标

        数组是一个有序的集合(数组中每一个数据都是按照顺序排好的,每一个数据都有他自己对应的编号)

        这个编号我们一般就叫做下标、索引

        索引(下标):从左到右从0开始依次+1

数组的基本操作

 1.length属性:每一个数组都带有一个length属性,这个属性是一个读写属性,他的意思指的是数组的长度(也就是数组中有几条数据)
                读写:读就是可获取,写就是可设置
                读(获取):
                    语法:数组名.length
                    作用:可以获取数组的长度
                写(设置)
                    语法:数组名.length = 数字
                    作用:可以去设置以下数组的长度
                        当设置的长度比原数组的长度小的时候:从数组的末尾开始删除数据,直到删除到符合设置的长度为止
                        当设置的长度比原数组的长度大的时候:多出来的位置用empty补齐
                        当设置的长度和原数组长度一致的时候:相当于没写设置
2.数组的索引(下标)
                读(获取):
                    语法:数组名[索引]
                    作用:获取到改索引对应的数据,如果索引存在就是改索引位置的数据,如果改索引不存在结果就是undefined
                写(设置):
                    语法: 数组名[索引] = 值
                    作用:
                        该索引如果存在就是修改这个索引对应的数据
                        该索引如果不存在:
                            如果索引写的刚好和数组的长度一致,那么就是在最后添加一条数据
                            如果索引设置的比length大:中间位置用empty补齐
3.遍历数组
                遍历:从头到尾挨个访问一遍
                遍历数组就是从头到尾访问一遍数组中的数据
                发现:要想访问数组中的数据要借助于索引的,刚好索引规律是从左到右从0开始依次+1,所以是一组有规律的数字
                刚好循环可以帮助我们产生出一组有规律的数字
                所以我们遍历数组可以借助于循环来实现
                怎么写呢?循环多少次呢?(核心思想:借助循环产生出数组对应的下标即可)
                循环的起始值:从0开始(因为数组的索引是从0开始的)
                循环的结束值:小于等于length-1或者写小于length
                步长:依次+1
    // 3.遍历数组
    var arr = [100, 200, 300, 400, 500, 'hehe', '哈哈', '嘿嘿']
    // for (var i = 0; i <= arr.length - 1; i++) {
    //     console.log(arr[i]);
    // }
    for (var i = 0; i < arr.length ; i++) {//<8
        console.log(arr[i]);
    }

数组的常用方法【改变原始数组】

1.push()
        语法:数组名.push(数据)
        作用:向数组的末尾追加一条数据
             允许追加多条,数据之间逗号隔开,但是一般我们不会依次追加很多条.
             返回值:追加之后数组的长度
2.pop()
        语法:数组名.pop()===小括号中不需要写参数
        作用:删除数组中的最后一条数据
        返回值:被删除的数据
3.unshift()
         语法:数组名.unshift(数据)
         作用:从数组的最前面加入一条数据
         返回值:加完之后数组的长度
4.shift()
         语法:数组名.shift()
         作用:删除数组最前面的一条数据
         返回值:被删除的数据
5.reverse()
            语法:数组名.reverse()====不需要写参数
            作用:反转数组
            返回值:就是反转之后的数组

            是会改变原始数组的
6.sort()
            语法:数组名.sort()
            作用:对数组中的数据进行排序
            返回值:就是排好序的数据
            排序规则: 
                sort()中不写按照数据一位一位来阅读,一位一位进行排序
                如果sort()中写了参数了,就可以按照我们写的规则去排序了
                参数如何写:
                    在参数中需要写一个没有名字的函数:function(a,b){}
                    注意:小括号中形参随便写2个,名字随便起,{}中的逻辑:return a-b或者 return b-a都可
                    如果写的是a-b(第一个减去第二个)就是从小到大排序
                    如果写b-a(第二个减去第一个)就是从大到小排序
            是会直接改变原始数组
7.splice()
            语法:数组名.splice()
            作用:从数组中截取部分内容,并可以选择是否要插入新的内容
            返回值:一定会返回一个新的数组,数组中存储的就是截取出来的数据(如果没截取出来,就是一个空数组)
            加参数的语法:
                第一种:数组名.splice(开始索引,多少个)====从索引几开始截取,要截取多少个
                第二种:数组名.splice(开始索引,多少个,插入的数据1,插入的数据2。。。)===从索引几开始截取,要截取多少个,并且截完之后可以再插入一些数据
                从哪开始截取,就从哪开始插入
            注意:
                splice中尽量不要写负数
                如果有第三个参数,第二个参数的数字不要忽略不写
                如果只写一个参数:就是从这个数字的索引位置开始一直截取到最后
            会改变原始数组。

数组的常用方法【不改变原始数组】

1.concat()
        语法:数组名.concat(数据1,数据2。。。)
        作用:进行数组的拼接,将原始数组和concat中的数据拼接成一个新的数组
        返回值:拼接好的新数组
        注意:如果concat中的数据是另外一个数组,那么会将这个数组中数据拆开,依次加入到新数组中。
2.join()
        语法:数组名.join(连接符)
        作用:使用连接符将数组中的数据连接成一个字符串
        返回值:就是连接好的字符串
        注意:
            如果不写连接符,连接符默认是逗号
            连接符要加引号
3.slice()
            语法:数组名.slice(开始索引,结束索引)
            作用:截取数组中的数据
            返回值:一个新的数据,数组中就是截取出来的数据
            注意:
                1.包前不包后,截取的时候,结束位置的索引对应的数据是截取不下来的
                2.如果第二个参数不写,一直截取到最后,从开始位置,截取完
                3.如果一个参数都不写,就相当于从开始一直截取到最后,相当于把数组重新复制了一份出来
                4.参数可以写负数,
                一定要注意开始索引一般要比结束索引小
4.indexOf()
            语法:数组名.indexOf(数据)
            作用:从左到右找该数据第一次出现的位置(下标、索引)
            返回值:该数据再数组中第一次出现的下标,如果找不到该数据,结果就是-1
            传参数的第二种语法:数组名.indexOf(数据,开始索引)
            作用:从开始索引位置完后找该数据再数组中对应的下标
5.lastIndexOf()
            用法意思和indexOf是一样的
            区别:lastInexOf是从右到左找的

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值