【问题标题】:Javascript unset arrayJavascript未设置数组
【发布时间】:2011-01-30 00:15:17
【问题描述】:

如何在 javascript 中取消设置数组? 我只是想清空它 - 所以它里面没有钥匙或任何东西

【问题讨论】:

    标签: javascript arrays unset


    【解决方案1】:

    您可以为其分配一个新数组:

    var array = ["element1","element2","element3"]; ... array = new Array();

    array = [];
    

    【讨论】:

    • 这段代码会将变量“array”设置为一个新的空数组。如果您在其他任何地方都没有对原始数组“数组”的引用,这是完美的,因为这实际上创建了一个全新的(空)数组。您应该小心使用此方法,因为如果您从另一个变量或属性引用了此数组,则原始数组将保持不变。你可以使用 array.length = 0 代替。
    【解决方案2】:

    为它分配一个空数组

       x = []
    

    【讨论】:

      【解决方案3】:
      array.length = 0
      

      应该可以。

      【讨论】:

        【解决方案4】:

        删除呢?

        delete array
        

        或者删除单个索引:

        delete array[x]
        

        【讨论】:

        • @Tadeck 当然 delete 不起作用,delete 是针对没有DontDelete 属性的对象属性,而不是具有DontDelete 属性的varfunction 声明。如果您将数组设为implicit 窗口属性或explicit 属性,它将在大多数 浏览器中工作(delete 取决于实现)。 More info about delete。 (当然,这不是声明数组的理想方式)
        【解决方案5】:
        var array = ["elem", "item"];
        ...
        array = []; // Empty!
        

        【讨论】:

          【解决方案6】:

          供参考(我知道它的旧答案)


          如果你想清空数组,那已经是answered了。 如果你想unset数组,你可以分配一个未设置的变量...

          var undef;
          var myArr = [];
          ...
          myArr = undef;
          // typeof myArr == undefined
          

          【讨论】:

            猜你喜欢
            • 2011-07-23
            • 2015-05-11
            • 2012-08-11
            • 1970-01-01
            • 1970-01-01
            • 2019-06-24
            • 1970-01-01
            • 2013-10-17
            • 1970-01-01
            相关资源
            最近更新 更多