• 数组的长度、数组元素的添加和删除



    友情链接:

    47道HTTP面试题总结  98道vue面试题总结


    一、数组的长度

      1).每个数组都有一个length属性:征对稠密数组,length属性值代表了元素中的个数,其值比数组中的最大索引数大1,当数组是稀疏的时,length的值大于元素的个数。数组长度保证大于它的每个元素的索引值。

          2).数组有两个特殊行为:

           第一个:如果为一个数组元素赋值,它的索引i大于或等于现有的数组的长度时,length的值将设置为i+1。

               第二个:设置length属性为一个小于当前长度的非负整数n时,当前数组中的那些索引值大于或等于n的元素将从中删除。

     var a = [1, 2, 3, 4, 5]; //从5个元素的数组开始
           a.length = 3; //现在a为 [1, 2, 3]
           a.length = 0; //删除所有的元素a为[]
           a.length = 5; //长度为5,但是没有元素,就行new Array(5)

      (注:还可以将数组的length属性值设置为大于当前的长度。实际上不会向数组中添加新的元素,它只是在的尾部创建一个空的区域

      3).在ECMAScript5中,可以使用Object.defineProperty()将数组的属性变成只读的:

     var a = [1, 2, 3];
         Object.defineProperty(a, "length", {writable: false});
         a.length = 0;
         console.log(a);//=> [1, 2, 3]

      (注:类似的,如果让一个数组元素不能配置,就不能删除它。如果不能删除它,length的属性不能设置小于不可配置元素的索引值(见Object.seal()和Object.freeze()方法))。

    二、数组元素的添加和删除

      1.添加:

        1).为新索引赋值

        2).使用push()方法在数组的末尾增加一个或多个元素;

        3).使用unshift()方法给首部插入一个元素,并且将其他元素移动到更高的索引处.

    1).
        a = []; //开始是一个空数组
        a[0] = "zero"; //想其中添加元素
        a[1] = "one";
        a;//=> ["zero", "one"]
    2).
      a = []; //开始是空数组
      a.push("zero");
    //在末尾添加一个元素。 a = ["zero"]
      a.push("one","two");//再添加两个元素
      a;//=>["zero", "one", "two"]
      a.unshift("start");
      a;//=> ["start", "zero", "one", "two"];  

      2.删除:

    var arr = [0,1,2];
        delete arr[1];
        console.log(arr[1]);  //undefined
        console.log(arr.length);  //3:delete操作并不影响数组的长度

    (注:删除数组元素与为其赋值undefined值是类似的(但有一些微妙的区别)。对一个数组元素使用delete不会修改数组的length属性;也不会将元素从高索引处移下来填充已经删除的元素空白。如果从一个数组中删除一个元素,它就变成稀疏数组。

       

  • 相关阅读:
    xpath爬顶点页面信息
    urllib与urllib的区别
    爬虫代理IP
    前端js框架汇总
    scrapy的基本安装步骤
    Python+requests 爬取网站遇到中文乱码怎么办?
    爬虫笔记课后习题1
    至此记录点滴、、
    c++封装的发邮件类CSendMail
    Socket创建失败:10093错误
  • 原文地址:https://www.cnblogs.com/hanxuming/p/6476450.html
Copyright © 2020-2023  润新知