我正在尝试将通过函数 (val) 传递的值与数组 (data.category) 中的项目进行比较,以替换 if/else 语句中的硬编码“cat1”和“cat2”。我最终想要做的是为数组中关联的适当值分配适当的 $scope.catName 和 $scope.info 。
如何修改代码以进行迭代和比较?
$scope.changeRankingView = function(val){
var categoriesArray = data.category;
var categoriesArrayLength = categoriesArray.length;
for (var i = 0; i < categoriesArrayLength; i++) {
if(val === 'cat1'){
$scope.catName = data.category[0].name;
$scope.info = data.category[0].info;
}
else if(val === 'cat2'){
$scope.catName = data.category[1].name;
$scope.info = data.category[1].info;
}
}
};
最佳答案
我不完全确定我遵循了,但我认为这会满足您的要求:
$scope.changeRankingView = function(val) {
for (var i = 0; i < data.category.length; i++) {
if(val === data.category[i]){
$scope.catName = data.category[i].name;
$scope.info = data.category[i].info;
}
}
};
我直接使用了data.category
,因为categoriesArray
似乎没有添加任何有用的东西。
关于javascript - 将函数变量与数组循环进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38948867/