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), {})