在 ES8(ECMAScript 2017)中,新增了一个 Object.entries() 方法,它可以将一个对象的属性和取值作为一个二维数组返回。这个方法对前端开发非常有用,能够让我们更加方便地操作对象。
用法
Object.entries() 方法接收一个对象作为参数,并将该对象的所有可枚举属性的键值对以二维数组的形式返回。具体用法如下:
Object.entries(obj)
其中 obj 是要返回键值对的对象。
示例
下面的代码演示了如何使用 Object.entries() 方法获取对象的键值对:
const obj = { a: 1, b: 2, c: 3 }; const entries = Object.entries(obj); console.log(entries); // 输出:[ [ 'a', 1 ], [ 'b', 2 ], [ 'c', 3 ] ]
应用场景
Object.entries() 方法能够让我们更加方便地操作对象。下面列举了一些使用场景。
遍历对象
如果需要遍历一个对象,可以使用 Object.entries() 方法将对象的键值对转换为二维数组遍历:
-- -------------------- ---- ------- ----- --- - - -- -- -- -- -- - -- --- ---- ----- ------ -- -------------------- - -------------------- ----------- - -- --- -- -- - -- -- - -- -- -
将对象转换成 Map
将对象转换成 Map 数据结构是很常见的需求。Object.entries() 方法可以让我们很方便地将对象转换成 Map。
const obj = { a: 1, b: 2, c: 3 }; const map = new Map(Object.entries(obj)); console.log(map); // 输出:Map { 'a' => 1, 'b' => 2, 'c' => 3 }
文件上传
在文件上传中,我们需要获取表单中所有的文件和其他表单数据。Object.entries() 方法可以让获取表单数据更加容易:
const formData = new FormData(); formData.append('file', inputFile.files[0]); for (let [key, value] of Object.entries(form)) { formData.append(key, value); }
总结
Object.entries() 方法是 ES8 中新增的方法,它可以将一个对象的属性和取值作为一个二维数组返回。在前端开发中,Object.entries() 方法非常有用,能够让我们更加方便地操作对象。它适用于遍历对象、将对象转换成 Map,以及文件上传等场景。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64982e3948841e9894540339