比如下面一个JSON对象
var jsonObject = {"UserID":11, "Name":{"FirstName":"John","LastName":"Hansen"}, "Email":"[email protected]"}; 首先想实现对象对key的“简单索引”功能
比如
jsonObject.key[0]返回字符串"UserID";
jsonObject.key[1]返回字符串"Name";
jsonObject.key[1]返回字符串"Email";其次同时能对key进行“深层索引”
比如
jsonObject.key[1][0]能返回字符串"FirstName";
jsonObject.key[1][1]能返回字符串"LastName";非常感谢昨天wtcsy和prototyper的回复,昨天小弟没有表述清楚,在二位提出的方法基础上改了之后都存在无法同时实现简单索引和深层索引的功能,还请二位和其他达人相告小弟多谢了
var jsonObject = {"UserID":11, "Name":{"FirstName":"John","LastName":"Hansen"}, "Email":"[email protected]"}; 首先想实现对象对key的“简单索引”功能
比如
jsonObject.key[0]返回字符串"UserID";
jsonObject.key[1]返回字符串"Name";
jsonObject.key[1]返回字符串"Email";其次同时能对key进行“深层索引”
比如
jsonObject.key[1][0]能返回字符串"FirstName";
jsonObject.key[1][1]能返回字符串"LastName";非常感谢昨天wtcsy和prototyper的回复,昨天小弟没有表述清楚,在二位提出的方法基础上改了之后都存在无法同时实现简单索引和深层索引的功能,还请二位和其他达人相告小弟多谢了
确实写的挺幽雅的 值得学习....................
<script type="text/javascript">
Object.prototype.k = function(n,t){
var arr = [];
for(pro in this) arr.push(pro);
if(t)
{return arr[n];}
else
{return this[arr[n]];}
}var jsonObject = {"UserID":11, "Name":{"FirstName":"John","LastName":"Hansen"}, "Email":"[email protected]"};
var b = {b:{bb:{bbb:{bbbb:'22'}}}}alert(jsonObject.k(0,1)) //取属性带2个参数
alert(jsonObject.k(0)) //取直就只带一个参数
alert(b.k(0).k(0).k(0).k(0,1))
alert(b.k(0).k(0).k(0).k(0))
</script>
Object.prototype.k = function(n, t){
var arr = [];
for (pro in this) arr.push(pro);
return t ? arr[n] : this[arr[n]]
}