js中 for in 与 for of 区别,和遍历对象的3种方法

for in是ES5标准,遍历key. (或是数组下标)
for of是ES6标准,遍历value.

		let list = ["a", "b", "c"]
		for (let item in list) {
			console.log(item)
			//结果是 0、1、2
		}

for-in是为遍历对象而设计的,不适用于遍历数组。
遍历数组的缺点:数组的下标index值是数字,for-in遍历的index值"0",“1”,"2"等是字符串

		let list = ["a", "b", "c"]
		for (let item of list) {
			console.log(item)
			//结果是 a、b、c
		}

[] 普通数组推荐使用of,
{} 带字符串key对象用in。

		let obj = {
			name: "张三",
			age: 30
		}
		for (let item in obj) {
			console.log(item)
			//结果是 name、age
		}
for-of还支持字符串遍历:
		s="hello";
		for (let item of s) {
			console.log(item)
			//结果是 h、e、l、l、o
		}

遍历对象的3种方法

方法1:

		let obj = {
			name: "张三",
			age: 30
		}
		for (let item in obj) {
			console.log(obj[item])
			//结果是 张三、30
		}

方法2:

		let obj = {
			name: "张三",
			age: 30
		}
		console.log(Object.keys(obj))//输出:["name", "age"]
		console.log(Object.values(obj))//["张三", 30]
		

方法3:

第三种:使用Object.getOwnPropertyNames(obj)

返回一个数组,包含对象自身的所有属性(包含不可枚举属性)
遍历可以获取key和value

const obj = {
            id:1,
            name:'zhangsan',
            age:18
    }
    Object.getOwnPropertyNames(obj).forEach(function(key){
        console.log(key+ '---'+obj[key])
    })

输出结果:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值