在 JavaScript 中,对象的键(key)必须是字符串或者符号(Symbol)类型。如果你尝试 将数组作为键使用,JavaScript 会将数组转换成字符串类型。这里有一个例子来说明这个概念
let obj = {};
let arr = [1, 2, 3];
obj[arr] = '数组作为键';
console.log(obj);
在这个例子中,我们将数组 `[1, 2, 3]` 作为对象 `obj` 的键。然而,由于对象的键只能是字符串或符号,所以数组 `[1, 2, 3]` 被转换成了字符串 `'1,2,3'`。因此,实际上对象 `obj` 的键是字符串 `'1,2,3'`,而不是数组 `[1, 2, 3]`。
所以在 JavaScript 中,你不能直接将数组作为对象的键,而需要将数组转换成字符串或者符号类型。如果你希望保留数组的结构,可以考虑将数组序列化成 JSON 字符串:
let obj = {};
let arr = [1, 2, 3];
let jsonArr = JSON.stringify(arr);
obj[jsonArr] = '数组作为键';
console.log(obj);
在这个例子中,我们使用 `JSON.stringify()` 函数将数组 `[1, 2, 3]` 序列化成 JSON 字符串 `'[1,2,3]'`,然后将其作为对象 `obj` 的键。这样你就可以在需要的时候使用 `JSON.parse()` 函数将 JSON 字符串还原成数组。