首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从JS对象创建的数组在登录控制台时显示为圆形对象

从JS对象创建的数组在登录控制台时显示为圆形对象
EN

Stack Overflow用户
提问于 2018-08-15 07:51:25
回答 1查看 546关注 0票数 0

我希望创建一个从多个输入创建的对象数组。每次用户按下Add to Array按钮时,都应该向数组中添加一个新对象。但是,当我将数组记录到控制台时,它显示循环引用。

我的测试代码如下:

代码语言:javascript
复制
var selected = [];

var name = $(".name").val();
var id = $(".id").val();
var data = $(".data").val();

var data = {
  name : $(".name").val(),
  id : $(".id").val(),
  data: $(".data").val()
}
$("button").click(function(){    
    selected.push(data);
    console.log(selected);
})
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<input type="text" class="name" value='Some name' />
<input type="text" class="data" value='some data' />
<input type="text" class="id" value='12' />
<p id="demo"></p>
<button>Add to array</button>

我想要一个包含我添加的所有值的普通数组,以便以后使用。我不确定循环引用是不是我应该得到的结果。

这是一种维护对象集合的错误方式吗?这些对象将稍后发布到服务器上。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-15 07:56:45

您只需在单击时在函数中声明var数据,如下例所示:

代码语言:javascript
复制
var selected = [];

$("button").click(function() {
  var data = {
    name: $(".name").val(),
    id: $(".id").val(),
    data: $(".data").val()
  }
  selected.push(data);
  console.log(selected);
})
代码语言:javascript
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.2.3/jquery.min.js"></script>
<input type="text" class="name" value='Some name' />
<input type="text" class="data" value='some data' />
<input type="text" class="id" value='12' />
<p id="demo"></p>
<button>Add to array</button>

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51851161

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档