JS中for in和for of,Object.keys()
for in用来循环对象,prototype上也能循环出来
也能循环数组,只能拿到索引,所以没用
for (const i in obj) {
console.log(i)//打印出的i为obj中属性名
console.log(obj[i])//打印出属性值
}
for of用来循环数组,拿到数组里每个值
循环对象会报错
let arr1 =[{a:'a1',b:'b1'},'b','c'];
for (const i of arr1) {
console.log(i)//i为arr1中每个值
}
Object.keys(obj)得到属性名组成的数组
Object.values得到值
Object.entries都得到
可以用来判断对象里是否有某个属性
for in也可以做到
let obj = {
a:"我是obj中a",
b:{
b1:"我是obj中b的b1",
b2:"我是obj中b的b2"
},
c:["c1", "c2", "c3"],
}
console.log(Object.keys(obj));//打印出['a','b',c]
let myarr=Object.keys(obj);
console.log(myarr.includes('a'))//ture