javascript - Object.entries() 但对象而不是数组

标签 javascript object methods

假设我有一个对象:

var obj = { a:{}, b:1, c: new Set() };

如果没有工作,对象就无法迭代,并且 Object.keys/values/entries 并不完全是我想要的。 Object.entries() 很接近,但我更希望它返回一个对象数组而不是一个 2D 数组,理想情况下引用完好无损(在适当的情况下)。

所以类似:

Object.items( obj ) = [ { a: {} }, { b: 1 }, { c: new Set() } ];

我知道我可以使用 Object.entries() 创建一个函数来执行此操作,我只是想确认还没有类似的东西。

最佳答案

你是对的,没有任何东西可以做到这一点。您需要构建自己的函数,entries 是一个很好的起点。

var obj = { a:{}, b:1, c: new Set() };
var obj2 = Object.entries(obj).map((array) => ({ [array[0]]: array[1] }));

console.log(obj2);
console.log(obj2[2].c === obj.c);

关于javascript - Object.entries() 但对象而不是数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49054644/

相关文章:

JavaScript:将对象方法的上下文绑定(bind)到父级

Python 父类检查子类中要在类函数中使用的属性

java - 常见做法是什么?类型放置

javascript - 为什么这一直说它没有定义

javascript - ASP.NET Web Forms 通过 JavaScript 对页面进行访问控制

javascript - 在 Javascript 中定义对象方法的两种方式有什么区别?

java - Pacman Ghost 类,这个方法是做什么的?

javascript - 带有事件点的 jQuery 轮播

javascript - 使用来自 JSON 的嵌套 jQuery 生成表格

java - 这种方法有什么问题 - (在 Jlist 中添加元素)?