比较函数变量和数组循环

Compare function variable against array loop

本文关键字:数组 循环 变量 函数 比较      更新时间:2023-09-26

我试图将通过函数(val)传递的值与数组(data.category)中的项进行比较,以取代if/else语句中硬编码的'cat1'和'cat2'。我最终想做的是分配适当的$作用域。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似乎没有添加任何有用的东西。