Underscore.js _.renameKeys() 方法
_.renameKeys() 方法接受一个对象和一个映射对象,并返回一个新对象,其中给定对象的键已被重命名为 keyMap 中的相应值。
句法:
_.renameKeys(obj, mapObj);
参数:
- obj:给定对象创建一个新对象。
- mapObj:给定地图对象创建一个新对象。
返回值:该方法返回一个生成的对象。
注意:这在普通 JavaScript 中不起作用,因为它需要安装 underscore.js contrib 库。
Underscore.js contrib 库可以使用npm install underscore-contrib –save 安装。
示例 1:
Javascript
// Defining underscore contrib variable
var _ = require('underscore-contrib');
var obj = _.renameKeys( { 1 : "Geeks",
2 : "Computer_Science_Portal" },
{ 1 : "g", 2 : "c" });
console.log("Generated Object: ", obj);
Javascript
// Defining underscore contrib variable
var _ = require('underscore-contrib');
var obj = _.renameKeys(
{ 1 : "Geeks", 2 : "Computer_Science_Portal",
3 : "Geeks" }, { 1 : "g", 2 : "c", 3 : "g" });
console.log("Generated Object: ", obj);
Javascript
// Defining underscore contrib variable
var _ = require('underscore-contrib');
var obj = _.renameKeys( [ "Computer_Science_Portal", "Geeks" ],
{ 0 : "a", 1 : "b", 3 : "g" });
console.log("Generated Object: ", obj);
输出:
Generated Object: { g: 'Geeks', c: 'Computer_Science_Portal' }
示例 2:如果对象中的两个或多个键值对变得相同,则生成的对象将具有唯一的键值对。
Javascript
// Defining underscore contrib variable
var _ = require('underscore-contrib');
var obj = _.renameKeys(
{ 1 : "Geeks", 2 : "Computer_Science_Portal",
3 : "Geeks" }, { 1 : "g", 2 : "c", 3 : "g" });
console.log("Generated Object: ", obj);
输出:
Generated Object: { g: 'Geeks', c: 'Computer_Science_Portal' }
示例 3:如果给定对象是 arr,则创建的新对象将使用该数组的对象索引进行映射。
Javascript
// Defining underscore contrib variable
var _ = require('underscore-contrib');
var obj = _.renameKeys( [ "Computer_Science_Portal", "Geeks" ],
{ 0 : "a", 1 : "b", 3 : "g" });
console.log("Generated Object: ", obj);
输出:
Generated Object: { a: 'Computer_Science_Portal', b: 'Geeks' }