遍历对象
var obj = {
a:1,
b:'2',
c:3,
d:[1,2,3,4],
e:true,
}
var arr = [1,2,3,4];
console.log(obj,arr);
console.log(obj.length);//对象没有长度,无法用for循环遍历对象
//要用 for...in 方法遍历对象
//对象中的每一项都是由键值对来组成,键(key):值(value)
//在对象中每一个键都是唯一的,不能重复
for(var key in obj){
console.log(key);
console.log(obj[key]);
console.log(obj.key);//undefined
}
//获取对象中的所有键
var keys = Object.keys(obj);
console.log(keys);
//获取对象中所有的value值,返回一个由值组成的数组
var values = Object.values(obj);
console.log(values);
//判断 obj1 中是否存在eat这个属性
var obj1 = {
name:'小明',
age:12,
hair:'gold',
eye:'blue'
}
//方法1
var arr1 = Object.keys(obj1);
var flag = false;
for (let i = 0; i < arr1.length; i++) {
if(arr1[i]=="eat"){
flag = true;
break; //条件满足一次就结束循环
}
}
if (flag==true) {
alert("存在eat属性");
}else{
alert("不存在eat属性");
}
//方法2
if(arr1.indexOf('eat')==-1){
alert("不存在eat属性");
}else{
alert("存在eat属性");
}