gpt4 book ai didi

javascript - 通过深度索引访问数组元素

转载 作者:行者123 更新时间:2023-12-03 08:19:52 26 4
gpt4 key购买 nike

我在访问某个元素时遇到问题,该元素位于资源树的最后一片叶子上。不过,我在通过迭代器迭代元素时遇到了麻烦。我想获取 $scope.values 数组中每个值的 type.id 。它们都有一个 type.id 属性。

相关犯罪者:

for (var i=0; i < $scope.values.length; i++) {
Type.getType({id:$scope.values[i].type.id}, function (results) {
$scope.values[i].type = results;
return results;
});
}

给出: 类型错误:无法设置未定义的属性“类型”

错误所在的行和行将光标置于:$scope.values[i].type = results;不过我可以很好地记录结果,它是一个包含 2 个项目的资源数组。

但是,如果我在两个地方都更改它们,则访问元素的两种更标准的方法可以正常工作。

$scope.values[0]

$scope.values["0"]

我在这里缺少什么?

最佳答案

您不知道 Type.getType 的作用,因此我不知道您作为第二个参数应用的函数何时被调用,也许它是一个回调?。但我非常确定,当调用此函数时, i 的值不是您想要的值。这不是一个闭包,而且 i 似乎在全局范围内。

你可以这样尝试:

for (var i=0; i < $scope.values.length; i++) {
Type.getType({id:$scope.values[i].type.id}, function (results) {
var index = i;
$scope.values[index].type = results;
return results;
});
}

关于javascript - 通过深度索引访问数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33788759/

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