js 数组元素作为键
时间: 2023-06-29 09:20:25 浏览: 44
在 JavaScript 中,数组元素也可以作为对象的键,不过需要注意以下几点:
1. 数组元素作为键时,会自动将其转化为字符串类型。
2. 数组元素作为键时,如果是非数字类型的元素,则可以通过`obj[key]`或`obj['key']`的方式访问,但不能通过`.`的方式访问。
3. 数组元素作为键时,如果是数字类型的元素,则可以通过`.`的方式访问,但不能通过`obj['key']`的方式访问。
下面是一个简单的示例代码:
```javascript
const arr = [10, 'key1', { id: 1 }, [1, 2, 3]];
const obj = {};
// 将数组元素作为键,值为元素在数组中的索引
arr.forEach((item, index) => {
obj[item] = index;
});
console.log(obj); // { '10': 0, 'key1': 1, '[object Object]': 2, '1,2,3': 3 }
// 非数字类型的元素,可以通过 obj[key] 或 obj['key'] 的方式访问
console.log(obj['key1']); // 1
console.log(obj[arr[2]]); // 2
// 数字类型的元素,可以通过 . 的方式访问
console.log(obj[10]); // 0
console.log(obj[arr[0]]); // 0
```
在上面的示例代码中,将数组元素作为键,值为元素在数组中的索引。最终输出的结果是一个对象,其中键为数组元素(已转化为字符串类型),值为元素在数组中的索引。
需要注意的是,在访问非数字类型的元素时,可以通过`obj[key]`或`obj['key']`的方式访问,但在访问数字类型的元素时,不能通过`obj['10']`的方式访问,而应该通过`obj[10]`或`obj[arr[0]]`的方式访问。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)