【问题标题】:convert object to array javascript when object has no quotes当对象没有引号时将对象转换为数组javascript
【发布时间】:2019-02-27 08:55:49
【问题描述】:

我使用 firebase,我正在创建一个关注系统,当我关注时,它会像这样将我的数据推送到 firebase:

firebase.database().ref('followers/' + followedId).update({ [this.userId]: true });
firebase.database().ref('followings/' + this.userId).update({ [followedId]: true });

如果我想显示我的关注者/关注者列表,我需要一个对象数组{followedId: true}

我需要将结果[{followedId: true}] 的格式更改为followedId 的数组。希望更清晰。

【问题讨论】:

  • 您的问题主要是关于您如何操作关注者,但听起来您想更改结果的格式。也许更新您的问题以显示您想要格式化的结果和预期的结构?
  • 我将您的一些 cmets 复制到我已删除的答案中,这澄清了事情:“我得到了一个对象列表 {followedId: true} 问题是在 html 中显示这个对象。我需要一个不带“:true”的followedId数组。”因此,您能否分享用于在您的 html 页面中获取这些对象的查询?
  • 所以结果看起来像[{id1: true}, {id2: true}, {id3: true}]?
  • 最好的结果应该是 [{"uid":id1,"checked":true}] 但如果我能拥有这个 [{"uid":id1}] 那就完美了!
  • 当我从 firebase 中提取结果时,我得到一个如下所示的对象:{uid1: true,uid2: true,uid3: true,uid4: true}

标签: javascript firebase ionic-framework


【解决方案1】:

如果你的结果看起来像{uid1: true, uid2: true, uid3: true, uid4: true}

const results = {uid1: true, uid2: true, uid3: true, uid4: true}

const followers = Object.keys(results)

console.log(followers) // ["uid1", "uid2", "uid3", "uid4"]

如果您需要根据您的评论对其进行格式化:

const results = {uid1: true, uid2: true, uid3: true, uid4: true}

const followers = Object.keys(results).map(id => ({ uid: id, checked: true }))

console.log(followers)

【讨论】:

  • 太棒了!非常感谢亚历克斯!很抱歉解释不是很清楚......
猜你喜欢
  • 2017-01-14
  • 1970-01-01
  • 2019-10-22
  • 1970-01-01
  • 2020-07-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-07
相关资源
最近更新 更多