Object.keys() 方法会返回一个由一个给定对象的自身可枚举属性组成的数组,
数组中属性名的排列顺序和使用 for…in 循环遍历该对象时返回的顺序一致 。
// 1.0 传入对象,返回属性名,keys()是对键名的遍历
var obj = {
a:"小白",
b:"小黑",
c:"大黄"
};
console.log(Object.keys(obj)) // => ["a", "b", "c"] 返回所有属性名
Object.keys(obj).map((key)=>{
console.log(key,obj[key]); //key=>属性名 obj[key]=>属性值
});
// 2.0 传入字符串,返回索引
var str = 'ab1234';
console.log(Object.keys(str)); // [0,1,2,3,4,5]
// 3.0 传入数组 返回索引
var arr = ["a", "b", "c"];
console.log(Object.keys(arr)); // ["0", "1", "2"]
// 扩展
1、Object.values(),values()是对键值的遍历
Object.values方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的 键值。
console.log(Object.values(obj)); // ["小白", "小黑", "大黄"]
2、Object.entries(),entries()是对键值对的遍历
Object.entries方法返回一个数组,成员是参数对象自身的(不含继承的)所有可遍历( enumerable )属性的 键值对数组。
console.log(Object.entries(obj));
//得到以下数据
[
["a", "小白"],
["b", "小黑"],
["c", "大黄"]
]