在 ES7 中,JavaScript 引入了一个新的方法 Object.values()
,用于返回对象所有属性值的数组。这个方法的引入为我们处理对象带来了方便和简化。
语法
Object.values(obj)
obj
: 必需。要返回其所有可枚举属性值的对象。
返回值
返回一个由对象所有属性值组成的数组。
示例
const obj = {a: 1, b: 2, c: 3}; console.log(Object.values(obj)); // [1, 2, 3]
解释
Object.values()
方法会遍历传入的对象,将每个属性的值存入一个新的数组中,并返回该数组。
在上面的示例中,obj
对象有三个属性 a
、b
、c
。使用 Object.values(obj)
方法后,返回一个由其属性值组成的数组 [1, 2, 3]
。
适用场景
Object.values()
常见的使用场景有:筛选对象属性值,将对象转换为数组。
筛选对象属性值
你可以使用 Object.values()
方法轻松获取对象的属性值,方便地对属性值进行过滤或其他操作。
// javascriptcn.com 代码示例 const tasks = { task1: { name: "Do the laundry", complete: true }, task2: { name: "Walk the dog", complete: false }, task3: { name: "Buy groceries", complete: true } }; const filteredTasks = Object.values(tasks).filter(task => !task.complete); console.log(filteredTasks); // Output: [ { name: 'Walk the dog', complete: false } ]
上述示例通过使用 Object.values()
和 Array.filter()
方法,在所有任务中过滤 complete
属性值为 false
的任务。
将对象转换为数组
在一些情况下我们需要将对象转换为数组,Object.values()
方法可以轻松地完成这个任务。
const myObj = { a: 1, b: 2, c: 3 }; const myObjArr = Object.values(myObj); console.log(myObjArr); // Output: [1, 2, 3]
上述示例中,我们将对象 myObj
转换为数组 myObjArr
。
总结
Object.values()
方法是 ES7 带来的新方法,用于返回对象所有属性值的数组。本文介绍了这个方法的语法、返回值和适用场景,并给出了示例代码。学习和掌握这个方法可以更加便捷地处理对象,并在实际开发中提升开发效率。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/654884a87d4982a6eb2c74e8