Object.keys()
Object.keys():返回一个数组,参数是一个*对象*自身所有可枚举属性的*键名*
var obj = {
2: 'aaa',
c: 333,
1: 'bbb',
a: 111,
3: 'ccc',
d: 222
}
obj.b = "ddd"
1. 对象
console.log(Object.keys(obj))
console.log(Object.values(obj))
2. 数组
var arr = [0, null, 1, undefined, 2, 3];
console.log(Object.keys(arr))
3. 字符串
var str = 'aaabbbccc'
console.log(Object.keys(str))
4. 数值、布尔值(其包装对象都不会为实例添加非继承的属性,所以返回空数组)
Object.keys(666);
Object.keys(true);
5. undefined、null(由于不会转为对象,所以报错)
Object.keys(undefined);
Object.keys(null);
Object.values():返回一个数组,参数是一个*对象*所有可遍历属性的*键值*
1. 对象
Object.values({'a': 1, 'b': 2, 'c': 3});
Object.values(["a", "b", "c"]);
2. 字符串(会转成类似数组的对象,每个字符作为一个属性,最终返回键值组成的数组)
Object.values('foo');
3. 数值、布尔值(其包装对象都不会为实例添加非继承的属性,所以返回空数组)
Object.values(666);
Object.values(true);
4. undefined、null(由于不会转为对象,所以报错)
Object.values(undefined);
Object.values(null);
Object.entries():返回一个数组,参数是一个*对象*所有可遍历属性的*键值对*数组
Object.entries({'a': 1, 'b': 2, 'c': 3});