怎样可以获取对象属性的索引?

比如opt是一个对象,然后设置属性:
varopt={
set1:"1",
set2:"2",
set3:"2"
}
可以直接将opt直接取到索引还是将里面的属性取出来为数组取。
吃鸡游戏
浏览 698回答 2
2回答

www说

直接读到key无法用原生JS实现,比较常规的做法是用for..in循环:varopts={set1:"1",set2:"2",set3:"3"},keys=[];for(keyinopts){keys.push(key);}keys[0];//"set1"keys[1];//"set2"keys[2];//"set3"但是这里面有坑,因为很多时候你不知道key是目标对象自己的,还是通过原型继承来的,所以一般都要做一层判断,只要目标对象自己的:for(keyinopts){if(opts.hasOwnProperty(key){keys.push(key);}}好消息是ES5增加了Object.keys方法,直接获取对象自己的所有键,返回数组:varkeys=Object.keys(opts);再进一步的判断比如可枚举之类的,你没问,我就不啰嗦了,欢迎其他人补充。

慕盖茨4494581

没太明白题主的意思。varopt={set1:"1",set2:"2",set3:"2"}是希望获得set1的值吗?直接opt.set1就可以了。或者我误会了题主的意思。如果这个索引指的是key值的话,遍历对象吧。varindex=Array();for(variinopt){if(typeof(i)!='function'){index.push(i);}}
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript