js当中怎么转化为数组类型
时间: 2024-04-23 21:28:33 浏览: 77
js将类数组对象转换成数组对象
在JavaScript中,有几种方法可以将其他类型转化为数组类型。其中包括使用Array.from()方法、for-in循环和使用Array.prototype.slice.call()方法。
1. 使用Array.from()方法:这个方法可以将伪数组或可迭代对象转化为数组。伪数组是指对象的所有键名都是正整数或零,并且有length属性。示例代码如下:
```javascript
var obj = { name: '小明', age: 22 };
var arr = Array.from(obj);
console.log(arr); // \['小明', 22\]
```
2. 使用for-in循环:通过遍历对象的属性,可以将对象转化为数组。for-in循环可以枚举原型链中的属性。示例代码如下:
```javascript
var obj = { name: '小明', age: 22 };
var arr = \[\];
for (let i in obj) {
arr.push(obj\[i\]);
}
console.log(arr); // \['小明', 22\]
```
3. 使用Array.prototype.slice.call()方法:这个方法可以将可枚举、可迭代或伪数组转化为数组。示例代码如下:
```javascript
let obj = { name: '李四', age: 22, gender: '男' }; //可枚举
let obj2 = { '0': '李四', '1': 22, '2': '男', length: 3 }; //伪数组
let set = new Set(\[1, '2', true\]); // 可迭代
let map = new Map(\[\[1, { name: '李四', age: 22 }\], \[2, \[1, 2, 3\]\]\]); // 可迭代
let arguments = function () { return arguments }; //可枚举 可迭代 伪数组
var arr1 = Array.prototype.slice.call(obj);
var arr2 = Array.prototype.slice.call(obj2);
var arr3 = Array.prototype.slice.call(set);
var arr4 = Array.prototype.slice.call(map);
var arr5 = Array.prototype.slice.call(arguments(1, 2, 3));
console.log(arr1); // \['李四', 22, '男'\]
console.log(arr2); // \['李四', 22, '男'\]
console.log(arr3); // \[1, '2', true\]
console.log(arr4); // \[\[1, { name: '李四', age: 22 }\], \[2, \[1, 2, 3\]\]\]
console.log(arr5); // \[1, 2, 3\]
```
综上所述,以上三种方法可以在JavaScript中将其他类型转化为数组类型。
#### 引用[.reference_title]
- *1* *3* [JS对象转数组](https://blog.csdn.net/qq_45199056/article/details/126530928)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [js对象转换为数组的两种方法](https://blog.csdn.net/weixin_45257251/article/details/124310214)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
阅读全文