📜  JavaScript 中的 Object.values()

📅  最后修改于: 2022-05-13 01:58:10.360000             🧑  作者: Mango

JavaScript 中的 Object.values()

JavaScript 中的对象和对象构造函数?
在面向对象编程的现实世界中,我们已经知道类和对象的重要性,但与其他编程语言不同,JavaScript 没有其他语言中看到的传统类。但是 JavaScript 有对象和构造函数,它们大多以相同的方式执行相同类型的操作。

  • 构造函数是与“new”关键字一起使用的通用 JavaScript 函数。 JavaScript 中的构造函数有两种类型,即内置构造函数(数组和对象)和自定义构造函数(为特定对象定义属性和方法)。
  • 当我们需要一种方法来创建可以多次使用的对象“类型”而不必每次都重新定义对象时,构造函数会很有用,这可以使用对象构造函数来实现。将构造函数的名称大写以将它们与常规函数区分开来是一种惯例。

例如,考虑以下代码:

function Automobile(color) {
  this.color=color;
}

var vehicle1 = new Automobile ("red");

函数“Automobile()”是一个对象构造函数,它的属性和方法,即“color”是通过在它的前面加上关键字“this”来声明的。使用对象构造函数定义的对象然后使用关键字“new”成为即时对象。
当 new Automobile() 被调用时,JavaScript 做了两件事:

  1. 它创建一个新的对象(实例)汽车()并将其分配给一个变量。
  2. 它将对象的构造函数属性(即“颜色”)设置为汽车。

Object.values() 方法
Object.values() 方法用于返回一个数组,其元素是在对象上找到的可枚举属性值。属性的顺序与对象手动给定的顺序相同,只是将循环应用于属性。
Object.values() 将对象作为要返回其可枚举自身属性值的参数,并返回一个包含给定对象的所有可枚举属性值的数组。
应用:

  • Object.values() 用于返回简单数组的可枚举属性值。
  • Object.values() 用于返回类似对象的数组的可枚举属性值。
  • Object.values() 用于返回数组的可枚举属性值,例如具有随机键顺序的对象。

句法:

Object.values(obj)

下面提供了上述函数的示例。
例子:

Input : var check = ['x', 'y', 'z'];
        console.log(Object.values(check));
Output : Array ["x", "y", "z"]

说明:在本例中,数组“check”具有三个属性值 ['x', 'y', 'z'],object.values() 方法返回该数组的可枚举属性值。属性的顺序与对象手动给定的顺序相同。

Input : var object = { 0: '23', 1: 'geeksforgeeks', 2: 'true' };
        console.log(Object.values(object));
Output : Array ["23", "geeksforgeeks", "true"]

说明:在这个例子中,像对象“check”这样的数组具有三个属性值 { 0: '23', 1: 'geeksforgeeks', 2: 'true' } 并且 object.values() 方法返回可枚举的属性值这个数组。属性的顺序与对象手动给定的顺序相同。

Input : var object = { 70: 'x', 21: 'y', 35: 'z' };
        console.log(Object.values(object));
Output : Array ["y", "z", "x"]

说明:在这个例子中,像对象“check”这样的数组具有三个随机排序的属性值 { 70: 'x', 21: 'y', 35: 'z' },并且 object.values() 方法返回可枚举此数组的属性值按索引值的升序排列。
下面提供了上述函数的代码。
代码 1:

javascript


javascript


javascript


输出 :

Array ["x", "y", "z"]

代码 2:

javascript


输出 :

Array ["23", "geeksforgeeks", "true"]

代码 3:

javascript


输出 :

Array ["y", "z", "x"]

例外:

  • 如果传递的参数不是 object ,则会导致 TypeError。
  • 如果一个对象没有作为参数传递给该方法,那么它会说服它并将其视为一个对象。

支持的浏览器:

  • 铬 54 及以上
  • 边缘 14 及以上
  • 火狐 47 及以上
  • Opera 41 及以上
  • Safari 10.1 及更高版本

参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values