gpt4 book ai didi

javascript - 无法在angularjs中查询java脚本数组

转载 作者:行者123 更新时间:2023-11-30 11:32:55 24 4
gpt4 key购买 nike

您好,我正在使用 angularjs 开发 Web 应用程序。我正在尝试在 angularjs 中查询数组。下面是我的代码片段。

var angulararray = [];
bindleaselistings.bindleaselistingsmethod().then(function(response) {
angular.forEach(response.data.data.LeaseList, function(value, key) {
angulararray.push(value);
});
}, function(error) {});
console.log(angulararray);
debugger;
var found = $filter('filter')(angulararray, {
id: accountnumber
}, true);
if (found.length) {
$scope.selected = JSON.stringify(found[0]);
} else {
$scope.selected = 'Not found';
}

console.log 显示所需的数组。我附上了截图。 enter image description here

当我调试 var found = $filter('filter')(angulararray, { id: accountnumber }, true); 我可以看到 angulararray 是空的。我可以知道我在上面的代码中做错了什么吗?任何帮助,将不胜感激。谢谢

最佳答案

问题在于您的代码的异步执行。您的 API 调用及其下方代码的执行将并行执行。 angulararray 的值在 API 调用之外为空。您可以将过滤移到 API 的成功回调中。

var angulararray = [];
bindleaselistings.bindleaselistingsmethod().then(function(response) {
angular.forEach(response.data.data.LeaseList, function(value, key) {
angulararray.push(value);
});
var found = $filter('filter')(angulararray, {
id: accountnumber
}, true);
}, function(error) {});
console.log(angulararray);

if (found.length) {
$scope.selected = JSON.stringify(found[0]);
} else {
$scope.selected = 'Not found';
}

关于javascript - 无法在angularjs中查询java脚本数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45612961/

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