admin管理员组文章数量:1394160
Suppose I have the next javascript object:
var errors = {
error_1: "Error 1 description",
error_2: "Error 2 description",
error_3: "",
error_4: "Error 4 description"
};
How can I determine if the property error_1
exists in the errors
object and is not empty as well?
Suppose I have the next javascript object:
var errors = {
error_1: "Error 1 description",
error_2: "Error 2 description",
error_3: "",
error_4: "Error 4 description"
};
How can I determine if the property error_1
exists in the errors
object and is not empty as well?
- 2 Are those error messages going to be only string always? – user2575725 Commented Feb 17, 2015 at 0:38
- @Arvind In my case, they will be only strings. But if you ask to provide some solution for other data types, then that will be great, as me and the others will be able to use what fits for them. – Amr Commented Feb 17, 2015 at 0:51
- What does "not empty" mean? Object properties are initialised to the supplied value, their default or undefined when created, so are never "empty". – RobG Commented Feb 17, 2015 at 1:02
4 Answers
Reset to default 32if (errors.hasOwnProperty('error_1') && errors['error_1'] )
The method hasOwnProperty
can be used to determine whether an object has the specified property as a direct property of that object.
The errors[key]
where key
is a string value checks if the value exists and is not null
to Check if its not empty where it is a string then typeof errors['error_1'] === 'string' && errors['error_1'].length
where you are checking for the length of a string
Result:
if (errors.hasOwnProperty('error_1') && typeof errors['error_1'] === 'string' && errors['error_1'].length)
Now, if you are using a library like underscore you can use a bunch of utility classes like _.isEmpty
_.has(obj,key)
and _.isString()
To precisely answer your question (exists and not empty), and assuming you're not referring to empty arrays, you could use
typeof errors.error_1 === 'string' && errors.error_1.length
Here is a another good answer I found and wanted to share (after modification to fit my needs):
if ("property_name" in object_name && object_name.property_name !== undefined){
// code..
}
So if I wanted to apply this on my example, it will look like:
if ("error_1" in errors && errors.error_1 !== undefined){
// code..
}
In order to check whether the object is empty or not use this code.
if (Object.keys(object_name).length > 0) {
// Your code
}
本文标签: In JavaScriptHow to determine if an object property exists and is not emptyStack Overflow
版权声明:本文标题:In Javascript, How to determine if an object property exists and is not empty? - Stack Overflow 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/web/1737524200a1994771.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论