Javascript 将返回的对象从映射扩展到一个对象中
我试图从我的循环中得到结果,并将其传播到一个变量中Javascript 将返回的对象从映射扩展到一个对象中,javascript,object,ecmascript-6,spread,Javascript,Object,Ecmascript 6,Spread,我试图从我的循环中得到结果,并将其传播到一个变量中 const updateds = { ... (Array.from(document.querySelectorAll('.updated')).map(item => { return {[item.dataset.slug]: item.dataset.position}; })) }; 结果应该像这样传播开来 {"chahan": "1
const updateds = {
...
(Array.from(document.querySelectorAll('.updated')).map(item => {
return {[item.dataset.slug]: item.dataset.position};
}))
};
结果应该像这样传播开来
{"chahan": "1", "jacques-lacoste": "2", "testcover": "3", "kreo": "4"}
但是我得到了
{"chahan":"1"},{"jacques-lacoste":"2"},{"testcover":"3"},{"kreo":"4"}
知道如何实现吗?使用map高阶方法总是返回一个数组。如果要将数组中的对象组合成单个对象,则要使用reduce高阶方法
const updateds=Array.fromdocument.querySelectorAll'.updated'.reduceacumerator,item=>{
返回{
…蓄电池,
[item.dataset.slug]:item.dataset.position
};
}, {}
使用map高阶方法总是返回一个数组。如果要将数组中的对象组合成单个对象,则要使用reduce高阶方法
const updateds=Array.fromdocument.querySelectorAll'.updated'.reduceacumerator,item=>{
返回{
…蓄电池,
[item.dataset.slug]:item.dataset.position
};
}, {}
您可以使用Array.reduce
const updateds =Array.from(document.querySelectorAll('.updated')).map(item => {
return {[item.dataset.slug]: item.dataset.position};
})
;
const reducedResult=updateds.reduce((obj, Currentitem) =>Object.assign(obj,Currentitem), {})
您可以使用Array.reduce
const updateds =Array.from(document.querySelectorAll('.updated')).map(item => {
return {[item.dataset.slug]: item.dataset.position};
})
;
const reducedResult=updateds.reduce((obj, Currentitem) =>Object.assign(obj,Currentitem), {})