在 ES10 中,新增了一个 Object.fromEntries 方法,它可以将一个二维数组转换成一个对象。这个方法的出现可以帮助我们更加方便地操作对象。本文将详细介绍 Object.fromEntries 的语法和用法,并提供实际示例代码。
语法
Object.fromEntries 方法的语法如下:
Object.fromEntries(iterable)
其中,iterable
参数可以是一个二维数组,也可以是一个实现了 Symbol.iterator
接口的对象。
用法
我们可以通过 Object.fromEntries 方法将一个二维数组转换成一个对象:
const entries = [ ['name', '张三'], ['age', 18], ['gender', '男'] ]; const obj = Object.fromEntries(entries); console.log(obj); // { name: '张三', age: 18, gender: '男' }
我们也可以将一个 Map 对象转换成一个对象:
const map = new Map([ ['name', '张三'], ['age', 18], ['gender', '男'] ]); const obj = Object.fromEntries(map); console.log(obj); // { name: '张三', age: 18, gender: '男' }
实际上,Object.fromEntries 方法是 Object.entries 方法的反向操作。我们可以通过 Object.entries 方法将一个对象转换成一个二维数组,再通过 Object.fromEntries 方法将这个二维数组转换成一个对象:
-- -------------------- ---- ------- ----- --- - - ----- ----- ---- --- ------- --- -- ----- ------- - -------------------- --------------------- -- - - ------- ---- -- - ------ -- -- - --------- --- - - ----- ------ - ---------------------------- -------------------- -- - ----- ----- ---- --- ------- --- -展开代码
示例代码
我们可以通过 Object.fromEntries 方法实现一些实际的功能,下面是一些示例代码:
1. 将 URL 参数转换成一个对象
我们可以通过 Object.fromEntries 方法将 URL 参数转换成一个对象:
function getParams(url) { const searchParams = new URLSearchParams(url.split('?')[1]); return Object.fromEntries(searchParams); } const url = 'https://example.com/?name=张三&age=18&gender=男'; const params = getParams(url); console.log(params); // { name: '张三', age: '18', gender: '男' }
2. 将一个对象的属性名和属性值互换
我们可以通过 Object.fromEntries 方法将一个对象的属性名和属性值互换:
-- -------------------- ---- ------- -------- --------- - ----- ------- - -------------------- ----- -------------- - ------------------ ------- -- ------- ------ ------ ----------------------------------- - ----- --- - - ----- ----- ---- --- ------- --- -- ----- ---------- - ---------- ------------------------ -- - ----- ------- ----- ------ ---- -------- -展开代码
3. 将一个对象的属性名转换成小驼峰命名
我们可以通过 Object.fromEntries 方法将一个对象的属性名转换成小驼峰命名:
-- -------------------- ---- ------- -------- ---------------- - ----- ------- - -------------------- ----- ------------ - ------------------ ------- -- ------------------------- --- ------ -- --------------------- -------- ------ --------------------------------- - ----- --- - - ----------- ----- ---------- ----- ---- --- ------- --- -- ----- -------- - ----------------- ---------------------- -- - ---------- ----- --------- ----- ---- --- ------- --- -展开代码
总结
Object.fromEntries 是 ES10 中的一个新方法,它可以将一个二维数组转换成一个对象。我们可以通过 Object.fromEntries 方法实现一些实际的功能,如将 URL 参数转换成一个对象、将一个对象的属性名和属性值互换、将一个对象的属性名转换成小驼峰命名等。Object.fromEntries 方法的出现可以帮助我们更加方便地操作对象。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6567e0eed2f5e1655d0b179b