常见对象方法

12/15/2016 javascript

# 判断对象是否为空

使用 ES6 新增的方法 Object.keys()

如果对象为空,则返回一个空数组

let obj={}
Object.keys(a) // []
1
2

即可通过此方法通过长度判断是否为空

if(Object.keys(a).length===0){
  return false
}
return true
1
2
3
4
const isEmpty = obj => Reflect.ownKeys(obj).length === 0 && obj.constructor === Object;
1

# Object.values()

返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历属性的键值。

let user = { name: "leo", age: 18};
Object.values(user); // ["leo", 18]
1
2

如果参数不是对象,则返回空数组

Object.values(10);   // []
Object.values(true); // []
1
2

# 将对象转换为对象数组

const data = { test1: 'abc', test2: 'cde', test3: 'efg' };
const arr = Object.entries(data);
console.log(arr);
/** Output:
[ [ 'test1', 'abc' ],
  [ 'test2', 'cde' ],
  [ 'test3', 'efg' ]
]
**/
1
2
3
4
5
6
7
8
9

# 动态属性名称

const dynamic = 'flavour';
var item = {
    name: 'Coke',
    [dynamic]: 'Cherry'
}
console.log(item); 
// { name: "Coke", flavour: "Cherry" }
1
2
3
4
5
6
7
Last Updated: 12/30/2022, 2:33:12 PM