微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

将返回的对象从地图传播到一个对象

如何解决将返回的对象从地图传播到一个对象

我正在尝试从循环中获取结果以将其传播到变量中

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.from(document.querySelectorAll('.updated')).reduce((accumulator,item) => {
  return {
    ...accumulator,[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),{})

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。