这是我的代码,我想检查数组是否包含这个特定的字符串"Identicon“。我正在寻找解决方案的一行代码,我只想检查if条件。
$scope.profileImageOptions = [
{
Type: "Identicon",
Code: "identicon"
},
{
Type: "MonsterID",
Code: "monsterid"
},
];
if($scope.profileImageOptions.indexOf($rootScope.settings.defaultImage) >-1)
{
console.log('ok');
}发布于 2017-04-25 18:10:24
您可以结合使用some方法和includes方法。
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"))发布于 2017-04-25 18:11:59
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'));发布于 2017-04-25 18:43:50
您可以像下面这样做:
<!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
https://stackoverflow.com/questions/43607682
复制相似问题