JS——数组相关知识点汇总

 

文章目录

  • 前言
  • 数组
    • 1.什么是数组?
    • 2.创建数组有哪些方式?
    • 3.如何向数组中添加元素?
    • 4.如何读取数组中的元素?
    • 5.获取数组的长度?
  • 二、数组的相关方法
  • 总结


前言

在前文我们主要介绍了js中程序控制这一章节,今日本文主要介绍有关 js中数组的相关知识点,本着简单易懂的方式逐步介绍,希望能够帮助到你!


一、数组

什么是数组?

数组也是对象     数组通过索引(从0开始的整数就是索引)操作元素   数组的存储性能比普通对象好,使用数组来存储一些数据。

创建数组有哪些方式?

  • 使用构造函数创建数组  创建一个名为  arr  的数组  使用typeof检查一个数组时,会返回object ,使用构造函数创建数组,也可以同时添加元素,元素之间用逗号隔开
例如:   var arr = new Array( );  
var arr = new Array(10, 20, 30 );
  • 使用字面量来创建数组      语法——[  ] ,使用字面量创建数组时,可以在创建时就指定数组的元素
例如:   var  arr = [ ];     //创建数组
var  arr = [1,2,3,4,5,6 ];     //初始化数组

如何向数组中添加元素?

语法 —— 数组[索引] = 值

例如:   arr[0] =10;    arr[1] = 20;     arr[2] = 30;

              console.log(arr);            //结果为   “10,20 ,30”

如何读取数组中的元素

语法——数组[索引] 
如果读取不存在的索引,会返回  undefined
例如     console.log(arr[1]);    //结果为   "20"    

获取数组长度(元素的个数)

语法—— 数组.length
  • 对于连续的数组,使用length可以获取到数组的长度
  • 对于非连续的数组,使用length 会获取到数组的最大索引+1(尽量不要使用非连续的数组)
还可以指定  length
  • 如果修改的length 大于原长度,则多余部分会以  空+,的形式空出来
  • 如果修改的length小于原长度,则原本多出的元素会被删除

二、数组的相关方法

向数组最后一个位置添加  /  删除元素

添加:

1. 数组[数组.length] = 值//因为元素是从0开始的, 对于连续的数组,使用length可以获取到数组的长度,也就是最后一个元素
2. push( )  该方法可以向数组的末尾添加一个或多个元素,并返回数组的新的长度(返回值:以数值的形式返回数组的长度)   将要添加的元素作为该方法的参数传递,这样就自动在数组末尾添加了元素
例如:  var arr = [’‘霉霉",“小李子“];
           arr.push("甜茶",”赛琳娜“); //结果为 [’‘霉霉",“小李子“,"甜茶",”赛琳娜“];

删除:

pop(  )  删除数组中最后一个元素,并将被删除的元素作为返回值返回

例如:   var arr = [’‘霉霉",“小李子“];

              arr.pop( );          //结果为   ['霉霉']

向数组开头的位置添加  /  删除元素

添加

unshift(  )向数组开头添加一个或多个元素,并返回新的数组长度,(原本的元素索引会依次调整)

例如:   var arr = [’‘霉霉",“小李子“];

           arr.unshift(’好喜欢‘);          //结果为   ['好喜欢,’‘霉霉",“小李子“]

删除

shift(  ) 删除数组中第一个元素,并将被删除的元素作为返回值返回

例如:   var arr = [’‘霉霉",“小李子“];

           arr. shift(’好喜欢‘);          //结果为   ['“小李子“];

其他方法

slice( )用来从数组提取指定元素

注意点:

该方法不会改变原数组,而是将提取到的元素封装到一个新数组中返回

参数:

  1. 第一个参数:截取开始的位置的索引,包含开始索引

  2. 第二个参数:截取结束的未知的索引,不包含结束索引

两个索引也可以同时都是一个负值,如果传递一个负值,则从后往前计算 (-1倒数第一个,-2倒数第二个) 

例如: var arr = ["123","456","789","唐僧","猪八戒","沙和尚"];
             var result=arr.slice(-2,1);   //但如果是这种的,则会返回空字符串
            console.log(result); // ""

第二个参数可以忽略不写,此时会截取从开始索引往后的所有元素

例如:  var arr = ["123","456","789"];

            var result=arr.slice(0,2);
            console.log(result);  //   输出结果为——————"123

splice( )会影响到原数组,会将指定元素从原数组中删除,并将被删除的元素作为返回值返回

参数:

  1. 第一个,表示开始位置的索引
  2. 第二个,表示删除的数量
  3. 第三个及以后,可以传递一些新的元素,这些元素将会自动插入到开始位置索引前边

例如: var arr = ["123","456","789","唐僧","猪八戒","沙和尚"];

            var result=arr.splice(1,2,"牛魔王");   
            console.log(result);
            console.log(arr);   //"123,牛魔王,唐僧,猪八戒,沙和尚

concat( )可以连接两个或多个数组,并将新的数组返回,该方法不会对原数组产生影响

例如: var arr =[……];
            var  arr1 = [……];
           var result = arr.concat(arr1,“牛魔王”,123);

join()该方法可以将数组转换为一个字符串,该方法不会对原数组产生影响,而是将转换后的字符串作为结果返回,在join( )中可以指定一个字符串作为参数,这个字符串将会成为数组中元素的连接符,默认是用  ,  连接

例如: var arr = ["蜘蛛精","白骨精","玉兔精"];

            var result = arr.join("@-@");  //指定字符之间的连接符
          console.log(result);    // "蜘蛛精@-@白骨精@-@玉兔精"

reverse( )   该方法用来反转数组(前面的元素去后面,后面的去前面)会直接修改原数组

例如:  var arr = ["蜘蛛精","白骨精","玉兔精"];

            var result = arr.reverse();  
          console.log(result);    // "玉兔精,白骨精,蜘蛛精"

sort( )  指定数组中元素的排序情况,默认按照 uniconde编码排序,但对于数字排序,可能没有那么准确,所以需要自己来指定排序的规则——

在sort( )添加一个回调函数,来指定排序规则

  1. 回调函数需要定义两个形参,浏览器将会分别使用数组中的元素作为实参去调用回调函数

  2. 浏览器会使用哪个元素调用不确定,但显示出来时  形参a 一定在 形参b 前面

  3. 浏览器会根据回调函数的返回值来决定元素的顺序

  • 如果返回一个大于0的值,则元素会交换位置

  • 如果返回一个小于0的值,则元素位置不变

  • 如果返回0,则认为两个元素相等

 return a-b;   //利用a-b 的值判断两个值谁大谁

  • 如果需要升序排列,则返回a-b

  • 如果需要降序排列,则返回b-a


总结

以上就是所要和大家分享的内容,依旧诚挚祝福屏幕前的你健康快乐,平安幸福!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值