相关疑难解决方法(0)

JavaScript是否保证对象属性顺序?

如果我创建这样的对象:

var obj = {};
obj.prop1 = "Foo";
obj.prop2 = "Bar";
Run Code Online (Sandbox Code Playgroud)

生成的对象总是这样吗?

{ prop1 : "Foo", prop2 : "Bar" }
Run Code Online (Sandbox Code Playgroud)

也就是说,属性是否与我添加它们的顺序相同?

javascript object

584
推荐指数
11
解决办法
20万
查看次数

JavaScript array.forEach是否按升序遍历元素

在JavaScript中我可以有一个带孔的数组:

a = [];
a[0] = 100;
a[5] = 200;
a[3] = 300;

a.forEach(function(x) {alert(x);});
Run Code Online (Sandbox Code Playgroud)

我无法找到有关元素是否按升序处理的信息,或者这不是可靠的事实.

我检查了"for .. in"循环以升序遍历数组索引,而对象的属性名称以与添加到对象相同的顺序遍历(至少看起来如此).

(即看起来数组是某种类型的内部树,而对象是哈希表.)

我刚刚发现Rhino JavaScript也遍历了不存在的元素:http: //ideone.com/7Z3AFh(与for..in不同).

javascript arrays sorting foreach

29
推荐指数
3
解决办法
3万
查看次数

标签 统计

javascript ×2

arrays ×1

foreach ×1

object ×1

sorting ×1