使用点和括号表示法时的最佳做法

时间:2011-11-17 18:57:41

标签: javascript

我有以下JavaScript代码:

var name = ui.item.label.split('. ', 2);
name.lastname  = name[0];
name.firstname = name[1];

split()方法用于将字符串拆分为子字符串数组,并返回新数组。但是,我想以关联方式引用数组。所以,我重新分配了如上所示的名字。

我是否只是在名称数组中添加了两个元素,或者说name[0]name.lastname是同一个元素?

如果我是正确的,我创建了以下长度为4的数组......

name.0
name.1
name.lastname
name.firstname

1 个答案:

答案 0 :(得分:2)

您向数组对象添加了两个属性,但不是数字索引。它不是“长度为4的数组”,它是一个“长度为2的数组,上面有两个自定义属性”。

var a = "foo bar".split(' ');

console.log(a)
//-> ["foo", "bar"]

console.log(a.length);
//-> 2

a.first  = a[0];
a.second = a[1];
console.log(a.length);
//-> 2

console.log( Object.keys(a) );
//-> ["0", "1", "first", "second"]