push.apply()不增加数组大小

时间:2015-10-04 05:07:31

标签: javascript arrays angularjs

我有这段代码

if ($scope.newLeverAdded) {
    console.log("executed this");
    console.log($scope.tradeDataObj, "data is here");
    console.log($scope.group_levers, "this 2 here");
    $scope.group_levers.levers.push.apply($scope.group_levers.levers, $scope.tradeDataObj.levers[0]);

    console.log($scope.group_levers, "mid prrinting");
    console.log("after this");
}
console.log($scope.group_levers, "final prrinting");

我正在尝试的是通过添加新元素来增加我的数组大小。所以现在数组包含2个元素。但最终控制台仍然返回数组中的单个元素。

为什么会这样?

2 个答案:

答案 0 :(得分:1)

无法运行代码,您可以尝试以下几种方法:

  1. 可能是您的代码未输入您指定的条件。
  2. 为什么不用override func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int { return 1 } override func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int { return 3 } func collectionView(collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAtIndexPath indexPath: NSIndexPath) -> CGSize { return CGSize(width: collectionView.frame.size.width/3.2, height: 100) } 代替申请
  3. 进行测试

答案 1 :(得分:1)

我认为你需要:

$scope.group_levers.levers.push.apply($scope.group_levers.levers, $scope.tradeDataObj.levers);

apply()的第二个参数应该是一个数组。

我假设您尝试推送多个项目,例如thisthis