我在javascript中有一个带有一个String值的对象。我认为它应该是一个关键值对,但有些东西正在改变它,所以这不起作用:
$.each(object, function(index, element) {
if (element.key) {
//do something with element.key and element.value
}
}
使用firebug检查时元素的值是:
[Object { STRING="1=stringValue"}]
如何处理此对象?
答案 0 :(得分:1)
for(var key in object){
if(!object.hasOwnProperty(key)) continue;
var value = object[key];
// now you have the key and value.
}
答案 1 :(得分:1)
考虑一下:
Object.keys( obj ).forEach( function ( key ) {
key // the property name
obj[ key ] // the value of that property
});
现场演示: http://jsfiddle.net/eyPDA/2/
如果你需要迭代一个对象的自己的属性,那么Object.keys( obj ).forEach(...
就可以了。
答案 2 :(得分:0)
您可以尝试调用对象toString方法,看看会发生什么。
答案 3 :(得分:0)
查看打印输出时,密钥为STRING
,因此object.STRING
或object["STRING"]
会在object
引用实际包含字符串的对象时获取您的值。但是,element
实际上是一个1元素的对象数组,因此element[0].STRING
应该工作而不是element.key
。