zoukankan      html  css  js  c++  java
  • 数组的长度、数组元素的添加和删除


    友情链接:

    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属性;也不会将元素从高索引处移下来填充已经删除的元素空白。如果从一个数组中删除一个元素,它就变成稀疏数组。

       

  • 相关阅读:
    MySQL数据库设计规范
    Docker安装redis
    Go-用本地时间解析时间字符串
    Docker安装mysql
    docker安装es
    Json官网文档
    leetcode题目和解答集合
    76. 最小覆盖子串
    165. 比较版本号
    958. 二叉树的完全性检验
  • 原文地址:https://www.cnblogs.com/hanxuming/p/6476450.html
Copyright © 2011-2022 走看看