如何循环访问对象中的编号属性
How To Iterate Through Numbered Properties in Object?
我有一个大对象,里面有 700 多个属性,全部编号。 如何循环访问每个编号属性?
{ '0':
{ emails:
{ categorized: [Object],
all: [Object],
primary: 'support@wish.com' },
id: '290cb70ea0f',
updated: '2011-09-16T05:55:12.136Z' },
'1':
{ emails:
{ categorized: [Object],
all: [Object],
primary: 'VJONO@csnfo.com' },
id: '753ac508e1a00e',
updated: '2012-07-12T22:23:11.196Z' },
'2':
{ title: 'Bryan Weston',
phone_numbers: { categorized: [Object], all: [Object], primary: '' },
id: 'b4c0268d92825e',
updated: '2010-10-13T08:00:32.834Z' },
// It goes on....
在纯 JavaScript 中,它会像这样
var data = { /*stuff*/ };
var item;
for (var prop in data) {
//hasOwn is probably not needed
if( /*data.hasOwnProperty(prop) &&*/ !isNaN(prop) ) { //only do stuff if the property is a number
item = data[prop];
//work
}
}
使用下划线,您可以像马克的答案一样写它,但要用类似的if(!isNaN(prop))
或_.isNaN
检查
使用下划线。
_.each(yourObject, function (item, index) {
console.log(item.emails);
console.log(item.title);
// etc...
});
试试这个:
var objectKeys = Object.keys(yourObject).map(Number);
objectKeys.sort();
for(var i=0;i < objectKeys.length; i++) {
key = objectKeys[i];
element = yourObject[key];
//do magic here
}
如果你不关心处理顺序,你可以只使用for(key in youObject)
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 如何循环访问对象中的编号属性
- jQuery:在具有相同类的对象列表中获取 DOM 中的对象编号
- 处理我的对象的投射到编号
- 在 JavaScript 中从构造函数创建编号对象
- 附加 JSON 对象编号 - 故障排除
- 检查对象的类型和编号
- 正在尝试对jQuery中的对象进行编号
- 使用生成的编号为对象的左侧位置制作动画
- JavaScript对象编号格式
- 如何检索具有编号名称的JSON对象键
- 数组中不同属性值对象的 Javascript 编号
- 如何在没有对象编号的情况下获取json对象
- Javascript日期对象的月份编号不一致
- 对通过引用传递到函数的对象进行编号