JavaScript 中交换对象中的键和值
JavaScript 中交换对象中的键和值:
-
调用
Object.entries()
方法获取键值对数组 -
使用
map()
方法切换key和value的位置 -
将结果传递给
Object.fromEntries()
方法以获取具有交换键和值的对象。
function swapKeysAndValues(obj) {
// 👇️ [['color', 'blue'], ['fruit', 'apple']]
const swapped = Object.entries(obj).map(
([key, value]) => [value, key]
);
return Object.fromEntries(swapped);
}
// 👇️ {color: 'blue', fruit: 'apple'}
console.log(
swapKeysAndValues({blue: 'color', apple: 'fruit'})
);
第一步是使用 bject.entries
方法获取对象的键值对数组。
// 👇️ [['blue', 'color'], ['apple', 'fruit']]
console.log(Object.entries({blue: 'color', apple: 'fruit'}))
每个嵌套数组中的第一个元素是键,第二个是值。
我们使用 Array.map
方法交换数组中键和值的位置。
我们传递给 map()
方法的函数被数组中的每个元素(子数组)调用。
我们使用解构赋值来获取每个子数组的第一个和第二个元素。
const [key, value] = ['color', 'blue'];
console.log(key); // 👉️ "color"
console.log(value); // 👉️ "blue"
我们只需交换键和值的顺序并返回一个包含结果的新数组。
交换变量包含的最终值是一个数组数组,其中值位于索引 0 处,键位于索引 1 处。
最后一步是将数组传递给 Object.fromEntries
方法。
Object.fromEntries
方法采用键值对数组,将它们添加到对象并返回结果。
// 👇️ {blue: 'color', apple: 'fruit'}
console.log(
Object.fromEntries([
['blue', 'color'],
['apple', 'fruit'],
]),
);
通过 3 个步骤交换对象的键和值:
-
使用
Object.entries()
方法获取键值对数组。 -
使用
map()
方法交换每个键和值的位置。 -
使用
Object.fromEntries()
方法将键值对数组转换为对象。
另一种方法是从 map()
方法返回一个对象数组。
function swapKeysAndValues(obj) {
// 👇️ [{color: 'blue'}, {fruit: 'apple'}]
const swapped = Object.entries(obj).map(
([key, value]) => ({[value]: key})
);
return Object.assign({}, ...swapped);
}
// 👇️ {color: 'blue', fruit: 'apple'}
console.log(swapKeysAndValues({blue: 'color', apple: 'fruit'}));
我们从 map()
方法返回一个对象数组。 同样,我们切换每对的键和值。
这允许我们使用 Object.assign
方法将所有对象的属性复制到单个对象中。
我们使用扩展语法
...
从数组中解压值(对象)并将它们作为参数传递给Object.assign
方法。
Object.assign
方法采用的第一个参数是目标对象,下一个是源对象。 源对象的键值对被复制到目标对象。
相关文章
使用 CSS 和 JavaScript 制作文本闪烁
发布时间:2023/04/28 浏览次数:146 分类:CSS
-
本文提供了使用 CSS、JavaScript 和 jQuery 使文本闪烁的详细说明。
在 PHP 变量中存储 Div Id 并将其传递给 JavaScript
发布时间:2023/03/29 浏览次数:69 分类:PHP
-
本文教导将 div id 存储在 PHP 变量中并将其传递给 JavaScript 代码。
在 JavaScript 中从字符串中获取第一个字符
发布时间:2023/03/24 浏览次数:93 分类:JavaScript
-
在本文中,我们将看到如何使用 JavaScript 中的内置方法获取字符串的第一个字符。
在 JavaScript 中获取字符串的最后一个字符
发布时间:2023/03/24 浏览次数:141 分类:JavaScript
-
本教程展示了在 javascript 中获取字符串最后一个字符的方法