当前位置: 首页 > 知识库问答 >
问题:

创建新数组和清除长度之间的差异[重复]

魏烨熠
2023-03-14

如果我必须删除数组中的所有项,那么使用新数组长度=0之间有什么区别?在本例中,结果显然是相同的。

function MyCtrl($scope) { 
    
    $scope.arrayData = ["1", "2", "3"];
    
    $scope.newArray1 = function(){
    	$scope.arrayData = new Array();
    }    
    
    $scope.newArray2 = function(){
    	$scope.arrayData = [];
    }
        
    $scope.lengthZero = function(){
    	$scope.arrayData.length = 0;
    }    
            
    $scope.populate = function(){
    	$scope.arrayData.push("1", "2", "3");
    }    
 }
 
 
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>

<div ng-app ng-controller="MyCtrl">
Data:
</h2><br>
   <ul>
        <li ng-repeat="data in arrayData">{{data}}</li>
    </ul> 
    <button ng-click="newArray1()">New Array - 1st method</button>
    <button ng-click="newArray2()">New Array - 2nd method</button>
    <button ng-click="lengthZero()">Length = 0</button>
    
    <button ng-click="populate()">Populate</button>
</div>

共有2个答案

宋鸿德
2023-03-14

使用array=new Array();将创建一个新的引用。

清除数组并保留引用的更好方法是:

var array = [1,2,3,4,5];

while (array.length) {
    array.pop();
}

还要看看这个完全相同的问题:数组之间的差异。长度=0,数组=[]?

庄星汉
2023-03-14

仅仅使用[]之间有很大的区别。长度=0

如果您使用= [],您将为变量分配一个新的引用,从而失去对原始引用的引用。通过使用. long=0,您将清除原始数组,保持原始引用不变。

 类似资料:
  • 我注意到以下代码在netbeans中是完全合法的: 然而eclipse对此并不满意,我必须这样初始化它: 有趣的是netbean建议不要在初始化部分指定类型参数,而是使用菱形运算符??我想知道这两种方法之间的区别。以及应该使用哪一种,这样代码就可以在不同的IDE中使用而不会有任何变化。

  • 本文向大家介绍成本差异和进度差异之间的差异,包括了成本差异和进度差异之间的差异的使用技巧和注意事项,需要的朋友参考一下 对于任何应用程序或专门用于任何项目,最关注的因素之一是在开发前和开发后阶段的预算管理和时间管理。因此,要评估任何项目的这两个主要因素,有很多方法,其中成本差异和进度差异是两个重要且主要的方法。 顾名思义,“成本差异”基于项目开发中花费的成本,而“进度差异”则基于相同开发中花费的时

  • 可能重复: 原始数组与ArrayList 在java中,列表和数组有什么区别?或数组和矢量之间的区别!

  • 我想知道更多处理数组的numpy。我发现a[:,None]和a[:,]之间是不同的。我想深入研究何时何地使用它们。 我试图以特殊的方式解决从2d数组中减去1d的问题,就像numpy-subtract-add-1d-array-from-2d-array一样,我意识到a[:,None]和a[:,]是不同的。 有人能给我关于它的官方或具体参考吗?我真的会很感激你的!

  • 发送表单数据时使用命令名称和模型属性有什么区别? 和 我应该在哪个时间点使用它们中的任何一个?

  • 可能重复: 何时使用LinkedList 我应该什么时候使用arrayList,什么时候使用LinkedList? 什么时候应该使用,和?

  • 本文向大家介绍Java中Array的长度和ArrayList的大小之间的差异,包括了Java中Array的长度和ArrayList的大小之间的差异的使用技巧和注意事项,需要的朋友参考一下 在集合中,主要功能需求之一就是获取要存储在我们的集合中的元素数量,以便可以决定是否在其中添加更多元素。同样,元素的数量对于集合的迭代也是必需的。 众所周知,Array和Arraylist都用于存储元素,但是都有不

  • 问题内容: 很快就有两个相等运算符:double equals( )和Triple equals( ),两者之间有什么区别? 问题答案: 简而言之: 操作员检查其实例值是否相等, 操作员检查引用是否指向同一实例, 长答案: 类是引用类型,可能有多个常量和变量在幕后引用类的同一单个实例。类引用保留在运行时堆栈(RTS)中,其实例保留在内存的堆区域中。当您控制平等时, 这意味着它们的实例是否彼此相等。