javascript - 将函数变量与数组循环进行比较

标签 javascript angularjs arrays

我正在尝试将通过函数 (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/

相关文章:

javascript - 模型之间的 Ext JS 关联

javascript - 如何在 promise 响应后为 ngTableParams 使用数据 - Angular

javascript - 哪个是确保拆分后最终得到大于 1 的数组的正确方法?

C# 从 Color 获取所有颜色

javascript - 可重用的 JS ajax 模式 (jquery)

javascript - 使用 rxjs 按阈值展平数值序列

javascript - facebook风格的菜单实现

javascript - 如何在全局 JavaScript 变量等于某个值时触发 Google 跟踪代码管理器事件

javascript - 如何获取/设置 Controller /模块之外的变量?

arrays - 如何将可变长度数组常量作为参数传递?