如何在angularjs中检查数组对象是否包含一个字符串

Lak*_*kmi 6 javascript arrays angularjs

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

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

        ];

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

    }
Run Code Online (Sandbox Code Playgroud)

Mih*_*nut 6

您可以将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);
Run Code Online (Sandbox Code Playgroud)

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

profileImageOptions.some(item => item.Type.includes("Identicon"))
Run Code Online (Sandbox Code Playgroud)