如何使用JavaScript映射返回对象?
我使用MapJavaScript函数返回一个对象<代码>行.id抛出错误。我想为数组中的每个迭代创建一个id作为键如何使用JavaScript映射返回对象?,javascript,html,arrays,Javascript,Html,Arrays,我使用MapJavaScript函数返回一个对象行.id抛出错误。我想为数组中的每个迭代创建一个id作为键 <input value="3" id="first" class="pdate"> <input value="5" id="second" class="pdate"> <input value="2" id=&quo
<input value="3" id="first" class="pdate">
<input value="5" id="second" class="pdate">
<input value="2" id="third" class="pdate">
由于要从行列表生成对象,请使用:
const update=[…document.querySelectorAll('.pdate')].reduce((acc,row)=>{
acc[row.id]=row.value;
返回acc;
}, {})
控制台日志(更新)代码>
您可以使用Object.fromEntries
将键值对数组转换为对象
let update=Object.fromEntries([…document.querySelectorAll('.pdate')]
.map(行=>[row.id,row.value]);
控制台日志(更新)代码>
我只想要一个应该包含所有三个属性的对象,而不是数组列表objects@Akhi21如果您想要id值的地图,可以使用。如上所述减少。我不能使用地图什么?正如我通常所问的,在本例中,.map
用于迭代数组。由于最终结果应该是一个对象,.reduce
是go@Akhi21没关系,重要的是问题已经解决了。如果你想要一个对象,map就是答案……预期的输出是什么?我试过了,但在js中它显示了row.id
的错误。我希望预期的输出为{“first”:“3”,“second”:“5”,“third”:“2”}
if(document.querySelectorAll('.pdate')){
let update = [...document.querySelectorAll('.pdate')].map(row => {
return {
row.id : row.value
}
})
}