如何确定字段值是否为对象
How to determine if field value is an object?
如果之前已经问过这个问题,我道歉。我找不到。
我需要循环浏览对象中的字段列表。我正在使用:
for (var property in preferences_data.person){
$("div.item form[name=" + property + "]").addClass('active');
}
在preferences _data.person对象获得一个对象作为其中一个字段的值之前,它一直工作得很好。我希望能找到一种方法来检查该房产本身是否是一个对象,而不使用这些对象,或者找到一种更好的方法。
if (typeof preferences_data.person[property] === "object")
您可以为此使用typeof并检查它是否是对象。
for (var property in preferences_data.person){
if (typeof property !== 'object') {
$("div.item form[name=" + property + "]").addClass('active');
} else {
//do something else
}
}
您可以检查值是否为字符串/数字,而不是检查对象(可以是对象文字、数组和null
将生成的对象),例如:
for (var property in preferences_data.person) {
var cur = preferences_data.person[property];
if (typeof cur === "string" || typeof cur === "number") {
$("div.item form[name=" + property + "]").addClass('active');
}
}
当然,如果您仍然想检查对象,可以使用过滤掉数组和null
var theType = Object.prototype.toString.call(obj);
theType
将是"[object object]"、"[object Array]"或"[object Null]"(以及其他可能的值)。因此,您可以使用这些和/或!== null
来检查null
。
还要注意,值中的字符可能会打断属性选择器-您应该始终在选择器内部引用值。因此,将选择器更改为:
$('div.item form[name="' + property + '"]')
怎么样:
(typeof property == "object")
for (var property in preferences_data.person){
if(typeof(property) != "object") {
$("div.item form[name=" + property + "]").addClass('active');
}
}
尝试使用typeof preferences_data.person[property] === 'object'
您可以使用typeof运算符来检查属性是否为字符串:
for (var property in preferences_data.person){
if (typeof property === "string") {
$("div.item form[name=" + property + "]").addClass('active');
}
}
相关文章:
- 如何检查数组中的对象是否等于选项值
- 测试对象是否相等和/或对象是否有更多的关键点,但仍然与共同的关键点相等
- 确定javascript中的html表对象是否具有<colgroup>是否
- 验证对象是否为null Javascript/Angularjs
- 如何通过json对象选项卡中的Id来检查对象是否存在
- jQuery-检测选择对象是否添加或删除了选项
- 检查对象是否是mongo游标
- Three.js-如何检查对象是否在球体后面(不可见)
- 检查对象是否基于jquery对象
- 在JSON项上循环,无论JSON对象是否具有多个数组
- 递归Javascript对象是否会导致任何问题(内存泄漏)
- Javascript如何确定两个对象是否相同
- 如何检查文字对象是否在 Javascript 数组中
- 检查对象是否已被推入数组 Js
- 变量/对象是否按值传递,为什么我不能在 javascript 中使用变量更改对象的属性
- JavaScript 如何检查包含数组的对象是否为空
- 嵌套对象是否被视为良好做法
- 在node.js/ssocket.io中,如何判断对象是否是套接字的实例
- 是否有跨浏览器和跨框架的方法来检查对象是否是HTML元素
- 有没有办法检查一个对象是否存在并且在一行中有一个子对象