乐闻世界logo
搜索文章和话题

在不知道对象 key 的情况下如何获取 JavaScript 对象的所有属性值?

4 个月前提问
3 个月前修改
浏览次数27

1个答案

1

在JavaScript中,即使不知道对象的具体键名,也可以通过几种方法获取对象的所有属性值。

方法一:使用 Object.values()

这是获取对象所有值的最直接方法。Object.values() 函数返回一个数组,其中包含输入对象的所有可枚举属性值。这个方法不会返回继承的属性值。

示例代码

javascript
const person = { name: "张三", age: 30, occupation: "程序员" }; const values = Object.values(person); console.log(values); // 输出: ['张三', 30, '程序员']

方法二:使用 for...in 循环

虽然 for...in 循环主要是用来遍历对象的键名,但也可以在循环中通过键名来获取对应的键值。这种方法与 Object.values() 的不同之处在于,它也可以访问对象原型链上的可枚举属性。

示例代码

javascript
const person = { name: "李四", age: 28, occupation: "设计师" }; const values = []; for (let key in person) { if (person.hasOwnProperty(key)) { // 检查以确保属性是对象自身的属性,而不是继承的 values.push(person[key]); } } console.log(values); // 输出: ['李四', 28, '设计师']

方法三:使用 Object.keys() 结合数组的 map() 方法

首先使用 Object.keys() 获取所有键名,然后使用数组的 map() 方法,将每个键名映射到其对应的键值。

示例代码

javascript
const person = { name: "王五", age: 35, occupation: "医生" }; const keys = Object.keys(person); const values = keys.map(key => person[key]); console.log(values); // 输出: ['王五', 35, '医生']

这些方法每种都各有优势,可以根据具体的需求和环境选择最适合的方法来获取对象的属性值。

2024年6月29日 12:07 回复

你的答案