1.遍历对象:使用for in
//对象
var test = {
name : "zs",
age: "18"
}
1.遍历属性名
for(key in test) {
console.log(key);
}
2.遍历属性值
for (key in test) {
console.log(test[key]);
}
注:遍历时,只能通过 test[value] 来获取相应属性的值,而不能使用 test.value
结果:
2.获取对象中所有的属性名和值
//对象
var test = {
name : "zs",
age: "18"
}
1.获取对象名:
Object.keys(test) // ["name", "age"]
2.获取对象值:
Object.values(test) // ["zs", "18"]
结果:
3.替换对象中的 key 值
根据 area,将 info 中的区域代码换成区域名称
let area = {
"330100": "杭州市",
"330200": "宁波市",
"330300": "温州市"
};
let info = {
"330100": {"color": "red", "num": 383},
"330200": {"color": "red", "num": 115},
"330300": {"color": "yellow", "num": 995}
};
let obj = {}; //定义一个新对象
for(key in area){
for(key2 in info){
if(key == key2) {
obj[area[key]] = info[key2];
}
}
}
//结果
console.log(obj);
obj = {
杭州市: {color: "red", num: 383},
宁波市: {color: "red", num: 115},
温州市: {color: "yellow", num: 995}
}
4.将对象转换数组
let area = {
"330100": "杭州市",
"330200": "宁波市",
"330300": "温州市"
};
let areaList = []; //定义一个新数组
for(key in area) {
areaList.push({[key]: area[key]});
}
//结果
console.log(areaList);
areaList = [
{330100: "杭州市"}
{330200: "宁波市"}
{330300: "温州市"}
];