Difference between these two logical flows and need help in correcting it
<pre><code>var array = ['single', 'multiple']

for (vb = 0, len = obj.length; vb &lt; len; vb++) {
    var row = Ti.UI.createTableViewRow({
        height: 35,
        selectionStyle: 'NONE'
    });
    row.add(Ti.UI.createLabel(pm.combine($$.labelBrown, {
        left: 10,
        text: obj[vb]
    })));

    row.add(Ti.UI.createLabel(pm.combine($$.labelBrown, {
        left: 220,
        text: 'Information to be displayed'
    })));
    this.rowData[vb] = row;
}
</code></pre>

<p>// The above code works fine and does print the dynamic rows.</p>

<p>The below code does not work... why?</p>

<pre><code>var obj= { single: ["one", "sd"], multiple: ["two", "sdsd"] },
    for (vb in obj) {
        if (obj.hasOwnProperty(vb)) {
            for (var i = 0, len = vb.length; i &lt; len; ++i) {
                var row = Ti.UI.createTableViewRow({
                    height: 35,
                    selectionStyle: 'NONE'
                });
                row.add(Ti.UI.createLabel(pm.combine($$.labelBrown, {
                    left: 10,
                    text: vb
                })));

                row.add(Ti.UI.createLabel(pm.combine($$.labelBrown, {
                    left: 220,
                    text: obj[vb][0]
                })));

                this.rowData[vb] = row;
            }
        }
    }
</code></pre>

<p>I am trying to create a rows dynamically based on the Array. I changed to Obj, to have key and value properties inside it... it does not work... </p>
