JavaScript 如何在对象中反转键值

JavaScript 如何在对象中反转键值

JavaScript 是一种高级、解释性和动态类型的客户端脚本语言。JavaScript用于为静态HTML添加动态特性。在JavaScript中,一切都是对象。可以使用大括号{…}声明JavaScript中的对象,这些对象可以包含某些属性。这些属性基本上是键值对。键是用于存储和检索值的标识符。使用传统方法反转键值对是很麻烦的。但是通过“underscore.js”的出现,可以使用内置方法 _.invert() 来执行键值反转。在本文中,我们将讨论反转JavaScript对象的键值对的两种方法。

方法1

在这个示例中,我们将演示传统的反转键值对的方法。首先,创建一个包含属性“name”、“age”、“std”和“fees”的学生对象。定义一个 inverse() 函数,它将学生对象作为参数,并遍历对象的每个键。定义一个新对象 retobj 来存储反转的键值对。

示例: 这个示例展示了上述方法。

function inverse(obj){ 
  var retobj = {}; 
  for(var key in obj){ 
    retobj[obj[key]] = key; 
  } 
  return retobj; 
} 
  
var student =  
{ 
    name : "Jack", 
    age: 18, 
    std : 12, 
    fees : 5000 
} 
console.log("Object before inversion"); 
console.log(student); 
student = inverse(student); 
console.log("Object after inversion"); 
console.log(student);

输出:

Object before inversion
{name: 'Jack', age: 18, std: 12, fees: 5000}
Object after inversion
{12: 'std', 18: 'age', 5000: 'fees', Jack: 'name'}

方法2

在这个示例中,我们使用“underscore.js”库的 _.invert() 方法来颠倒对象的键值对。该方法以对象作为参数,返回一个将键作为值、值作为键的对象的副本。将“student”对象传递给 _.invert() 方法。该方法返回“student”对象的颠倒副本。程序导入外部的“underscore.js”库以使用内置方法。结果显示在网页上。

语法:

_.invert(object)

示例: 此示例显示了上述解释的方法。

<script src= 
"https://cdn.jsdelivr.net/npm/underscore@1.12.0/underscore-min.js"> 
</script> 
<script type="text/javascript"> 
    var student = { 
        name : "Jack", 
        age: 18, 
        std : 12, 
        fees : 5000 
    } 
      
    console.log("Object before inversion"); 
    console.log(JSON.stringify(student)); 
    student = JSON.stringify(_.invert(student)); 
    console.log("Object after inversion"); 
    console.log(student); 
</script>

输出:

Object before inversion
{name: 'Jack', age: 18, std: 12, fees: 5000}
Object after inversion
{12: 'std', 18: 'age', 5000: 'fees', Jack: 'name'}

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程