JavaScript。无法使用object.keys()迭代对象以获取新的

JavaScript。无法使用object.keys()迭代对象以获取新的,javascript,iterator,Javascript,Iterator,我在输入端有一个对象,如何在现有对象的基础上返回修改后的对象 为此,我将Object.keys()与迭代器map()结合使用。但有些东西不起作用,我没有定义 让objj={ 答:2,, b:3, c:4 } console.log( Object.keys(objj).map((key,i)=>{ 键:objjj[键]+1 }) )您需要一些括号来将花括号括起来 否则,它将被视为块语句,其中标准返回undefined 要创建单个对象,可以将单个对象展开到 let object={a:2,b:

我在输入端有一个对象,如何在现有对象的基础上返回修改后的对象

为此,我将
Object.keys()
与迭代器
map()
结合使用。但有些东西不起作用,我没有定义

让objj={
答:2,,
b:3,
c:4
}
console.log(
Object.keys(objj).map((key,i)=>{
键:objjj[键]+1
})

)
您需要一些括号来将花括号括起来

否则,它将被视为块语句,其中标准返回
undefined

要创建单个对象,可以将单个对象展开到

let object={a:2,b:3,c:4};
console.log(
Object.assign(…Object.keys(Object.map)((key,i)=>({[key]:Object[key]+1})))

);从箭头函数返回对象时,必须用括号将其括起来:

让obj={
答:2,,
b:3,
c:4
}
console.log(
对象键(obj)
.减少((附件,钥匙)=>({
…acc,
[键]:obj[键]+1
}), {})
)
//或者使用Object.entries
console.log(
Object.entries(obj)
.reduce((acc,[键,值])=>({
…acc,
[键]:值+1
}), {})

)
您需要返回值,而不是重新分配给键

让objj={
答:2,,
b:3,
c:4
}
console.log(
Object.keys(objj).map((key,i)=>{
返回OBJJ[键]+1
})

)
返回对象的箭头函数必须在括号中包含所述对象,以区别于代码块。还请注意,当前代码将产生的结果(带括号)非常特殊。最有趣的是,您不使用计算属性名称,即所有对象都将有一个名为
key
的属性。最后但最不重要的一点是,您记录了一个对象数组(每个属性对应一个对象),这听起来根本不像您想要的谢谢,但我需要新的obj,因为它是,我在里面额外的物品。我的意思是
constobj={'key':3,“key”:4..}
它不适用于相同的键。请添加一个可能的替代结果。我不需要相同的密钥。就像上面的问题示例一样,您想要哪个键名?@J.Pichardo,这只是一种新方法。