我有一个JSON对象,该对象在页面加载时启动,如下所示:
data[foo] = bar; data[foo2] = bar2; data[foo3] = bar3;
有没有一种方法可以在第一个元素之前注入一个元素foo,以便在执行a时for var i in data,新元素将在对象启动时添加的元素之前循环遍历?
foo
for var i in data
原因是,我正在向用户显示一些项目。当用户通过javascript添加新项目时,我希望此新项目显示在所有现有项目上方,但是当我添加新项目时,即
data[newItem] = newItem;
然后,JSON对象如下所示:
data[foo] = bar; data[foo2] = bar2; data[foo3] = bar3; data[newItem] = newItem;
而不是我想要的是:
data[newItem] = newItem; data[foo] = bar; data[foo2] = bar2; data[foo3] = bar3;
有任何想法吗?
在JS中,不能保证对象属性的顺序。因此,即使将它们按JSON字符串排序,当解析为JS对象时,您也永远无法预测它们的出现顺序。
最好改用数组。您可以使用该unshift()方法将项目放在第一个索引中。
unshift()
var data = [bar,bar2,bar3]; data.unshift(newItem); //data = [newItem,bar,bar2,bar3];