2017-04-04 85 views
-5

如何访问对象属性使用for循环,我在说这个循环for (var i =0;i <= obj.length;i++)而不是for..in循环。我想用document.write()来显示它。没有jquery,只有javascript。使用循环访问javascript对象属性

var obj = { 
     id: 1, 
     description: "This space is for description", 
     severity: "This is severity", 
     assignedTo: "Name of the assigned person", 
     status: "Issue Status " 
    } 
+1

@Kinduser为'选项Object.keys()'是存在的,所以应该帮助OP – Icepickle

+1

'for..in'只是JavaScript和你仍然可以做'文件.write()'你有'for ... in'的具体问题吗? – Nope

+0

@Ippickle无论如何。我的意思是一些用户在实际阅读之前不应该滥用权限来解决问题。 –

回答

0

您能够与Object.keys()一起使用for循环。

注意:由于提到的,它并不能保证正确的顺序。

var obj = { 
 
    id: 1, 
 
    description: "This space is for description", 
 
    severity: "This is severity", 
 
    assignedTo: "Name of the assigned person", 
 
    status: "Issue Status " 
 
}, elems = Object.keys(obj); 
 

 
for (var i = 0; i < elems.length; i++) { 
 
    document.write(`Key: ${elems[i]}, Value: ${obj[elems[i]]}<br>`); 
 
}

+0

@squint我的意思是_order_的意思是键取决于它们何时被定义(或设置)! –

+2

@ibrahimmahrir:是的,最初的定义顺序是有些人可能希望的,但是我认为Kind用户的回答给出了这个警告。一个实现可能确实选择遵守这个顺序,但我们不应该依赖它。 – 2017-04-04 15:12:43

+2

......我其实希望JS的实现能够随机化这个命令,这样人们就不会有错觉它可能是可靠的。 – 2017-04-04 15:16:48