在 ES10 中,Object.entries()
和 Object.fromEntries()
是两个非常实用的方法,特别是在前端开发中。
Object.entries()
Object.entries()
方法返回一个数组,该数组包含对象自身可枚举属性的键值对数组,即一个对象的所有属性键值对数组。
用法如下:
const obj = { foo: 'bar', baz: 42 }; console.log(Object.entries(obj)); // Output: [ ['foo', 'bar'], ['baz', 42] ]
通过该方法,可以很方便地遍历对象的属性并对其进行处理。例如,对对象进行过滤:
const obj = { foo: 'bar', baz: 42 }; const filteredObj = Object.fromEntries( Object.entries(obj).filter(([key, value]) => key === 'foo' && value === 'bar') ); console.log(filteredObj); // Output: { foo: 'bar' }
Object.fromEntries()
Object.fromEntries()
方法接收一个键值对数组,并返回一个新的对象,该对象的键值对由该数组中的键值对构成。
用法如下:
const entries = [['foo', 'bar'], ['baz', 42]]; console.log(Object.fromEntries(entries)); // Output: { foo: 'bar', baz: 42 }
该方法常常跟 Object.entries()
一起使用,以将数组转换为对象:
const arr = [['foo', 'bar'], ['baz', 42]]; const obj = Object.fromEntries(arr.map(([key, value]) => [key, value * 2])); console.log(obj); // Output: { foo: 'barbar', baz: 84 }
总结
ES10 的 Object.entries()
和 Object.fromEntries()
方法对于前端开发来说是非常强大的工具,它们可以帮助我们简化代码,提升开发效率。特别是在处理对象和数组的场景下,这两个方法尤为实用。
我们可以通过 Object.entries()
方法轻松地遍历对象属性,将其转换成数组,方便后续处理。而通过 Object.fromEntries()
方法,我们可以将键值对数组转变为对象,具有很高的可读性和可维护性。
如果你在开发过程中有类似的需求,不妨试试 Object.entries()
和 Object.fromEntries()
方法,相信它们会为你的开发工作带来更大的便捷和效率。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64f822fcf6b2d6eab3044b56