1.
var a={}
var b= {a:1, c:2}
var c= {a:2, b:3}
var d= [1,2,3]
var e= [3,4,5]
a[b]= 1
a[c]= 2
a[d]=3
a[e]=4
console.log(a[b])
console.log(a[c])
console.log(a[d])
console.log(a[e])
// 输出
// 2
// 2
// 3
// 4
其中a的赋值情况为:
1,2,3: 3
3,4,5: 4
[object Object]: 2
即:一维数组可做对象的key使用,而obj类型的key始终为[object Object],所以在a[c] = 2 ,这次赋值时把上一个Key的值覆盖了,故输出为2,2,3,4
扩展:
一维数组可以做key;
二维数组被拍平做key;
obj array 为key是[object Object];