# **javaScript遍历对象总结**
#### **1. 使用Object.keys()遍历**
返回一个数组,包括对象自身的(不含继承的)所有可枚举属性(不含Symbol属性).
```
var obj = {'0':'a','1':'b','2':'c'};
Object.keys(obj).forEach(function(key){
console.log(key,obj[key]);
});
```
![](https://box.kancloud.cn/d96185f10c8760056cc067fa15bcb47d_684x408.png)
#### **2. 使用for..in..遍历**
循环遍历对象自身的和继承的可枚举属性(不含Symbol属性).
~~~
var obj = {'0':'a','1':'b','2':'c'};
for(var i in obj) {
console.log(i,":",obj[i]);
}
~~~
![](https://box.kancloud.cn/09ff20478651ab6ad6a370bf49565013_642x324.png)
#### **3. 使用Object.getOwnPropertyNames(obj)遍历**
返回一个数组,包含对象自身的所有属性(不含Symbol属性,但是包括不可枚举属性).
~~~
var obj = {'0':'a','1':'b','2':'c'};
Object.getOwnPropertyNames(obj).forEach(function(key){
console.log(key,obj[key]);
});
~~~
![](https://box.kancloud.cn/38356201b925fd5e863af1b2bba1c8e8_908x382.png)
#### **4.使用Reflect.ownKeys(obj)遍历**
返回一个数组,包含对象自身的所有属性,不管属性名是Symbol或字符串,也不管是否可枚举.
~~~
var obj = {'0':'a','1':'b','2':'c'};
Reflect.ownKeys(obj).forEach(function (key) {
console.log(key,obj[key]);
});
~~~
![](https://box.kancloud.cn/ae99b270b4bf50753aaff2767b85e232_754x384.png)
- 前言
- 写在前言
- 一些开发遇到的问题
- H5标签中的属性控制
- el-table的每个对象的属性值
- el-form多个表单同时验证必填项
- el-table 修改表头
- el-input的多种验证
- vue键盘回车事件
- blob导出
- table中selectable( 是否勾选)
- 手动更新视图
- 日期选择器,自定义可选范围
- select 自定义搜索
- 监听回车事件
- 表格初始化不可勾选
- el-input输入限制
- table时间格式转换
- table自适应高度
- JS问题记录
- js字符数组转换为数字数组
- js防抖和节流
- JS电脑是否有网判断
- JS属性记录
- 遍历方法(12个)
- 改变原数组(9个)
- 不改变原数组(8个)
- JS数组、字符串常用方法
- 遍历对象
- Vue
- vue-router
- vue-router 如何在新窗口打开页面
- vue-router 之 keep-alive缓存篇
- keep-alive项目案例
- 路由知识点归纳总结
- params、query传参
- vue问题记录
- vuejs npm chromedriver 报错
- vuex
- vuex个人理解
- Vuex的简单实例应用