当前位置: 首页 > 知识库问答 >
问题:

如何通过迭代对象向对象添加新属性?

秦楚
2023-03-14

我想要得到一个这样的对象

let newPost = {
   title: "Post 1",
   Content: "New content"
}

通过这样编码:

let newPost = {};

let postData = $(".post-data").each (function(index) {
    newPost.title = $(this).text()
    newPost.content = $(this).text()
})

    <h5 class="card-title post-data" data-title = "title">Post 1</h5>
    <p class="card-text post-data" data = "content">New content</p>

但我总是得到以下几点:

let newPost = {
   title = "New content",
   content = "New content"
}

共有1个答案

公西俊才
2023-03-14

为了完成所需的操作,您应该在每次循环迭代时更新每个属性,而不是同时更新所有属性。此外,您需要使data属性名称在所有目标元素中保持一致,以便它可以用作输出对象的键。记住这一点,试试这个:

null

let newPost = {};
$(".post-data").each((i, el) => newPost[el.dataset.key] = el.innerText.trim());

console.log(newPost);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<h5 class="card-title post-data" data-key="title">Post 1</h5>
<p class="card-text post-data" data-key="content">New content</p>
 类似资料:
  • 问题内容: 这件事困扰了我一段时间。我为什么不能做: …虽然我可以执行以下操作? 这是什么规则?您能给我介绍一下吗? 问题答案: 您可以向具有的任何对象添加属性。 例如,没有它。 字符串和其他简单的内置对象也没有它。 使用类也没有它。 除非前面的声明适用,否则用定义的类都具有它。 如果使用/的对象没有/ ,通常是为了节省空间。例如,如果有一个命令,那就太过分了- 想象一下一个非常短的字符串的膨胀程

  • 我想向云Firestore中已存在的对象添加新的属性 如您所见,我只是向一个对象添加了新属性。 现在这段代码每次都用旧属性覆盖新属性。

  • 通过一个简单的数组,我可以使用标准的循环来实现: 但是如何用实物来做呢?

  • 如何迭代对象及其子对象的属性?我在中使用了,但无法获取歌曲信息:/

  • 目前,我有2个对象,我想输入一个新的对象。 我正在寻找一个关于StackOverFlow的解决方案,如下所示:但是,我不明白我的错误。 如何在Java中将对象添加到ArrayList中 下面是我的方法: 我的错误是->main.java:75:错误:找不到符号player.add(name);文字 我不明白我的问题?? 下面是我的方法: 我的类 事先谢谢你的帮助。

  • 这应该是非常简单的,但我还没有得到它的工作。 为什么我得到: 我想得到的是: