如何在 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>
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP