我有以下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
答案 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"]