1. 概述
本文主要介绍一些JavaScript对象的操作与方法。
2.获取对象的值
2.1 用obj.key的方式获取
let obj = {
name: "小明",
age: 22
}
//小明
console.log(obj.name);
//22
console.log(obj.age);
2.2 使用obj[key]的方式获取
let obj = {
name: "小明",
age: 22
}
//小明
console.log(obj["name"]);
//22
console.log(obj["age"]);
2.3 使用解构赋值的方式获取
let obj = {
name: "小明",
age: 22
}
let {
name,
age
} = obj
//小明
console.log(name);
//22
console.log(age);
3.删除对象的值
let obj = {
name: "小明",
age: 22
}
// delete obj.name
delete obj["name"]
//{ age: 22 }
console.log(obj);
4. 清空对象的值
let obj = {
name: "小明",
age: 22
}
//{ name: '小明', age: 22 }
console.log(obj);
for (let key in obj) {
delete obj[key];
}
//{}
console.log(obj);
5. 判断对象是否为空对象
let obj = {
name: "小明",
age: 22
}
function isEmptyObj(obj) {
if (Object.keys(obj).length > 0) {
return false;
} else {
return true;
}
}
//false
console.log(isEmptyObj(obj));
6. 对象的循环遍历
(1)for in
let obj = {
name: "小明",
age: 22
}
for (let key in obj) {
//小明 22
console.log(obj[key]);
}
(2)Object.keys()
遍历对象的key,item为对象的key。
let obj = {
name: "小明",
age: 22
}
Object.keys(obj).forEach((item, index) => {
//小明 22
console.log(obj[item]);
})
(3)Object.values()
遍历对象的value,item为对象的value。
let obj = {
name: "小明",
age: 22
}
Object.values(obj).forEach((item, index) => {
//小明 22
console.log(item);
})
7. 对对象的值进行排序
let obj = {
'张三': 80,
'李四': 90,
'王五': 85,
}
//得到按键值升序排列的键数组
let keyArr = Object.keys(obj).sort(function (a, b) {
return obj[a] - obj[b]; //升序
});
//[ '张三', '王五', '李四' ]
console.log(keyArr);
for (let key of keyArr) {
//张三:80 王五:85 李四:90
console.log(key + ":" + obj[key]);
}
8.判断元素是否存在对象中
let obj = {
"a": 1,
"b": 2,
"c": 3
}
let result = "a" in obj
// true
console.log(result);