2017-04-25 174 views
1

這是我的代碼我想檢查數組是否包含此特定字符串「Identicon」。我正在尋找一個行代碼作爲解決方案,我只是想檢查條件。如何檢查數組對象是否包含angularjs中的一個字符串

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

     ]; 

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

    } 
+0

可能重複[通過值或屬性從對象數組中獲取JavaScript對象](http://stackoverflow.com/questions/13964155/get-javascript-object-from-array-of-objects-按價值或財產) –

+0

@Lakmi,這是我的解決方案嗎? –

+0

@Nguyen Thanh不,因爲我正在尋找一行代碼。我從這篇文章得到了解決方案。 thnx – Lakmi

回答

1

您可以將includes方法與some方法結合使用。

some方法接受參數a 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);

此外,您還可以使用lambda表達式。

profileImageOptions.some(a=>a.Type.includes("Identicon")) 
+1

thnx這項工作對我來說 – Lakmi

0

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

 
     ]; 
 
var result = arr.some(element => element.Type.includes('Identicon')); 
 
console.log(result)

讓我們用some在Javascript:

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

Thnak你尋求幫助。 – Lakmi

+0

很高興知道:) –

0

你可以象下面這樣:

<!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

相關問題