似乎无法循环对象键

时间:2016-03-07 16:08:13

标签: javascript

我有一个对象,通过它我试图循环使用for..in。但是它给了我“0”作为值而不是像piidata,location,risklevel等对象键。

var srcObj = [{
    location: "34",
    piidata: "sdafa",
    risklevel: "Medium"
}]

for (var prop in srcObj) {
                console.log(prop);            
            }

object

6 个答案:

答案 0 :(得分:3)

srcObj是一个数组,由[]证明。里面是索引0的对象。

答案 1 :(得分:1)

你的" srcObj"是一个数组。这由包裹[ ... ]表示。如果您console.log srcObj[0],您应该自己获取对象。

答案 2 :(得分:0)

你需要做的一切

<fieldset>
   <legend class="dashLegend" style="color:#0000EE;" id="dash">Click to Show Statistics Table</legend> 
     <div class="content" style="height:600px;">content</div>
</fieldset>

<table class="table sticky-header move" id="tableBorder" border="0" cellpadding="0" cellspacing="0">
    <thead>
        <tr class="alignBottom" >
           <th class="noBottomBorder alignBottom" id="nameTh" onClick="changeNameArrow()" style="width: 20%;"><img id="nameArrow" src="images/UpAndDown1.png" >Name</img></th>
           <th class="noBottomBorder">Grade When Administered</th>
           <th class="noBottomBorder">Gender</th>
           <th class="noBottomBorder">Ethnicity</th>
           <th class="noBottomBorder alignBottom" id="elaTh" onClick="changeELAArrow()"><img id="ELAArrow" src="images/UpAndDown1.png" />PASS ELA Scale Score</th>
           <th class="noBottomBorder">PASS ELA</th>
       </tr> 
    </thead>
    <tbody><tr><td>content</td></tr></tbody>
</table>

答案 3 :(得分:0)

当你循环javascript对象时,它返回对象的索引/键

所以如果你想要获得每个关键的价值,请尝试。

var chat2 = $.connection.chatHub;
$.connection.hub.start().done(function () {
    chat2.server.test(roomId);

    chat2.client.redirectTo = function () {
        window.location.replace("http://stackoverflow.com");
    }

    chat2.server.joinGroup(roomId);
});

如果您尝试获取每个密钥名称,请尝试使用此名称

for( var prop in srcObj ) 
{
    console.log(srcObj[prop]);            
}

答案 4 :(得分:0)

你的srcObj是一个数组。你可以用方括号[]来表示它。但是Chrome说Object。对。 Javascript类型有点奇怪。查看this page

如果要访问对象中的键/值,可以指定数组中对象的索引。在这种情况下srcObj[0]。如果你想让对象从数组中取出并作为一个对象来处理它,你可以这样做:

var trueObject = srcObj.shift()

删除并返回数组的第一个元素并将其分配给变量。

答案 5 :(得分:-1)

您的srcObj实际上是一个数组(由[]文字标识),其中包含一个对象作为唯一元素。

要访问数组内单个对象的参数,请使用以下语法:

for( var prop in srcObj[0] ) 
{
    console.log(prop);            
}

jsFiddle Demo