我有以下json
成功{“fname”:[ “fname字段是必需的。” ],“lname”:[ “lname字段是必需的。” ],“电子邮件”:[ “电子邮件字段是必需的。” ],“密码”:[ “密码字段是必需的。” ], “确认密码”: [ “密码确认字段是必需的。” ]}
我这样做,如果值包含字段是必需的,那么console.log它。我将json保存在var data
中 angular.forEach(data, function(value, key)
{
if( value ==("field is required")){
console.log (key)
}
})
我试过.contains,.match,什么都没有用
答案 0 :(得分:1)
尝试:
if( value.indexOf("field is required") > -1){
console.log (key)
}
这将检查字符串是否需要"字段"。
答案 1 :(得分:1)
您还获得了包含方法。
此处的文档包含:http://www.w3schools.com/jsref/jsref_includes.asp
IndexOf的文档: http://www.w3schools.com/jsref/jsref_indexof.asp
我个人认为IndexOf解决方案有点脏,因为它不是为此做的,但它似乎是最常见的解决方案。
你也可以在询问之前研究StackOverflow,这是你问题的答案:
How to check whether a string contains a substring in JavaScript?
答案 2 :(得分:0)
如果您的JSON值是[“The --- field is required”]并且您正在使用“field is required”测试字符串相等性,那么您的if条件永远不会评估为true。
如果您想要评估条件,则需要获取值的子字符串部分。您可以使用字符串拆分,搜索,substr或其他字符串方法来获取值的该部分:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String
您需要使用带有.match()或.search()的正则表达式。你也可以使用
var idx = value.indexOf('field');
var str = value.slice(idx);
if( str == "field is required" )...
答案 3 :(得分:0)
angular.forEach(data, function(value, key){
if(value.indexOf("field is required") > -1){
console.log(key);
}
});