当前位置: 首页 > 工具软件 > Keys.js > 使用案例 >

JS中Object.keys、Object.values和Object.entries()

蒋英博
2023-12-01

JS将对象转换成数组

 Object.keys(obj) —— 返回一个包含该对象所有的键的数组。

 Object.values(obj) —— 返回一个包含该对象所有的值的数组。

 Object.entries(obj) —— 返回一个包含该对象所有 [key, value] 键值对的数组。

let obj = {
  name: "jack",
  age: 20,
  sex: "man",
}

let keys = Object.keys(obj);
console.log(keys); // ["name", "age", "sex"]

let values = Object.values(obj);
console.log(values); // ["jack", 20, "man"]

let entries = Object.entries(obj);
console.log(entries); // [ ["name", "jack"], ["age", 20], ["sex", "man"] ]
// 返回值均为数组

与 Map Set 方法的区别 

        写法不同:map.keys()

         返回值的区别:Object.* 方法返回的是“真正的”数组对象,而不只是一个可迭代项。 

let map = new Map([
  ['cucumber', 500],
  ['tomatoes', 350],
  ['onion', 50],
]);

console.log(map); // {"cucumber" => 500, "tomatoes" => 350, "onion" => 50}

// 返回可迭代项
let mapKeys = map.keys();
console.log(mapKeys); // {"cucumber", "tomatoes", "onion"}
console.log(Object.keys(map)); // []

let mapValues = map.values();
console.log(mapValues); // {500, 350, 50}
console.log(Object.values(map)); // []

let mapEntries = map.entries();
console.log(mapEntries); // {"cucumber" => 500, "tomatoes" => 350, "onion" => 50}

 类似资料: