【问题标题】:How to check if an array object contains one string in angularjs如何检查数组对象是否在angularjs中包含一个字符串
【发布时间】:2017-09-22 06:59:46
【问题描述】:

这是我的代码,我想检查数组是否包含这个特定的字符串“Identicon”。我正在寻找一行代码作为我只想检查 if 条件的解决方案。

 $scope.profileImageOptions = [
                      {
                Type: "Identicon",
                Code: "identicon"
            },
            {
                Type: "MonsterID",
                Code: "monsterid"
            },

        ];

    if($scope.profileImageOptions.indexOf($rootScope.settings.defaultImage) >-1)
{
    console.log('ok');

    }

【问题讨论】:

标签: javascript angularjs arrays


【解决方案1】:

您可以将includes 方法与some 方法结合使用。

some 方法接受callback 提供的函数作为参数,该函数应用于array 中的每个项目。

profileImageOptions = [
            {
                Type: "Identicon",
                Code: "identicon"
            },
            {
                Type: "MonsterID",
                Code: "monsterid"
            },

];
var exist=profileImageOptions.some(function(item){
  return item.Type.includes("Identicon");
});
console.log(exist);

此外,您可以使用arrow function 来简化您的代码。

profileImageOptions.some(item => item.Type.includes("Identicon"))

【讨论】:

    【解决方案2】:

    你可以这样做:

    <!DOCTYPE html>
    <html>
    <script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.4.8/angular.min.js"></script>
    <body>
    
    <div ng-app="myApp" ng-controller="personCtrl">
    
    <p>The name is {{ result[0].Type == "Identicon" ? "OK" : "Not OK"}}</p>
    
    </div>
    
    <script>
    angular.module('myApp', []).controller('personCtrl', function($scope) {
    $scope.profileImageOptions = [
                          {
                    Type: "Identicon",
                    Code: "identicon"
                },
                {
                    Type: "MonsterID",
                    Code: "monsterid"
                },
    
            ];
    
            $scope.result = $scope.profileImageOptions.filter(function(res){
            return res.Type ==  "Identicon";});
    });
    </script>
    
    </body>
    </html>
    

    查看example

    【讨论】:

      【解决方案3】:

      var arr = [
                            {
                      Type: "Identicon",
                      Code: "identicon"
                  },
                  {
                      Type: "MonsterID",
                      Code: "monsterid"
                  },
      
              ];
      var result = arr.some(element => element.Type.includes('Identicon'));
      console.log(result)

      让我们在 Javascript 中使用some

      $scope.profileImageOptions.some(element => element.Type.includes('Identicon'));
      

      【讨论】:

      • 感谢您的帮助。
      • 很高兴知道:)
      猜你喜欢
      • 2020-07-27
      • 1970-01-01
      • 2014-07-27
      • 2019-10-01
      • 2023-03-09
      • 1970-01-01
      • 2017-01-18
      • 2018-08-20
      • 2013-08-16
      相关资源
      最近更新 更多