gpt4 book ai didi

arrays - 每当调用函数时,如何将元素推送到数组中?

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:26:30 26 4
gpt4 key购买 nike

我正在实现无限滚动。我有一个名为 hotels 的数组,它从 $http.get() 方法获取数据。现在我想用 hotels 数组的值填充一个名为 hotelsNew[] 的新 array。但我想在 hotelsNew 中推值 mj 的增量值。

mj 的值需要在调用函数loadMore() 时更新(递增)。 m 的初始值为 0,j 为 5。当调用 loadMore() 时,m 将再次5 和 j 将是 10 等等。

我无法在任何地方保存 mj 的值,因为 $http.get() 是异步的。有什么正确的方法可以保存mj的值,并在再次调用loadMore()时重用它吗?最大j值为40。当m = j(40)时,它会停止。

这是我的 Controller 代码。

 $scope.loadMore = function() {
$http.get(url).success(function(data, status, headers, config) {
if(data) {
$scope.hotels = data.hotels;
for(var i = m; i < j; i++) {
console.log('i=',i);
$scope.hotelsNew.push($scope.hotels[i]);
console.log('hotelsNew',$scope.hotelsNew);
}
}
}

我如何增加 mj 的值?有什么想法吗?

最佳答案

如果 mj 每次递增相同的量,您可以在 Controller 中创建一个局部变量。

var m = 0, j = 5;
$scope.loadMore = function() {
$http.get(url).success(function(data, status, headers, config) {
if(data && j < 40) {
$scope.hotels = data.hotels;
for(var i = m; i < j; i++) {
console.log('i=',i);
$scope.hotelsNew.push($scope.hotels[i]);
console.log('hotelsNew',$scope.hotelsNew);
}
m += 5;
j += 5;
}
}
}

关于arrays - 每当调用函数时,如何将元素推送到数组中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38496209/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com