假设我有一个对象:
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/