如何在 JavaScript 中反转对象?


反转表示以相反的顺序打印值。用技术术语来说,我们可以说假设我们取了一个数组对象。该对象以键值对的形式取值,并以值键对的形式打印值。

_.invert() 函数属于 underscore.js,这是一个提供通用函数的 JavaScript 库。

它用于复制一个对象,其中对象键被转换为值,对象被转换为键。这意味着对象的 [键,值] 被反转了。

语法

以下是_.invert() 函数的语法:

_.invert(object)
  • 对象 - 对象是数组的键值对。

  • 返回值 - 它以相反的顺序 [值,键] 返回对象的 [键,值]。

示例 1

在以下示例中,我们创建了一个名为 obj 的对象,将 obj 变量传递给_.invert() 函数,并以值-键对的形式返回该值。

<!DOCTYPE html>
<html>
<head>
   <script type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>
</head>
<body>
   <script type="text/javascript">
      var obj = {
         Company: "TurorialsPoint",
         Address: "Hyderabad",
         Contact: "+917654980321",
         Email: "xyz123@gmail.com",
      };
      document.write(JSON.stringify(_.invert(obj)));
   </script>
</body>
</html>

示例 2

在以下示例中,我们将名为 obj 的对象传递给_.invert() 函数,并将其转换为字符串以在页面上显示返回数据。

<!DOCTYPE html>
<html>
<head>
   <script type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>
</head>
<body>
   <script type="text/javascript">
      var obj = {
         num1: "91",
         num2: "82",
         num3: "52",
         num4: "19",
      };
      var number = JSON.stringify(_.invert(obj));
      document.write(number);
   </script>
</body>
</html>

示例 3

让我们再看一个_.invert() 函数的示例:

<!DOCTYPE html>
<html>
<head>
   <script type="text/javascript"src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.9.1/underscore-min.js"></script>
</head>
<body>
   <script type="text/javascript">
      var detail = JSON.stringify(
         _.invert({ name: "JP ANNA", age: 324, salary: 220000 })
      );
      document.write(detail);
   </script>
</body>
</html>

示例 4:使用箭头函数(=>)

在本例中,我们将讨论箭头函数的使用。在这种情况下,我们将使用=> 箭头函数来反转对象的键/值对。

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8" />
   <meta http-equiv="X-UA-Compatible" content="IE=edge" />
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <scripttype="text/javascript"src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script>
   <title>Invert an object</title>
   <div id="invert"></div>
</head>
<body>
   <script type="text/javascript">
      let obj = {
         name: "Alice",
         age: 21,
         role: "Full stack developer",
      };
      let invertObj = (obj) =>
         Object.fromEntries(Object.entries(obj).map(([key, value]) => [value, key]));
         document.getElementById("invert").innerHTML = JSON.stringify(
         invertObj(obj)
      );
   </script>
</body>
</html>

示例 5:使用 reverse() 方法

在本例中,我们将使用reverse() 方法在 JavaScript 中反转对象。此方法用于反转对象的键/值对。

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8" />
   <meta http-equiv="X-UA-Compatible" content="IE=edge" />
   <meta name="viewport" content="width=device-width, initial-scale=1.0" />
   <scripttype="text/javascript"src="//cdnjs.cloudflare.com/ajax/libs/lodash.js/0.10.0/lodash.min.js"></script>
   <title>Invert an object</title>
   <div id="invert"></div>
</head>
<body>
   <script type="text/javascript">
      let obj = {
         name: "Alice",
         age: 21,
         role: "Full stack developer",
      };
      function invertObj(obj) {
         let invert_obj = {};
         reverse_obj = Object.keys(obj).reverse();
         reverse_obj.forEach(function (x) {
            invert_obj[x] = obj[x];
         });
         return invert_obj;
      }
      rev = invertObj(obj);
      document.getElementById("invert").innerHTML = JSON.stringify(rev);
   </script>
</body>
</html>

更新于:2022-12-06

3K+ 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始学习
广告

© . All rights reserved.