javascript - 从 JS 对象创建的数组在登录控制台时显示圆形对象
问题描述
我正在寻找从多个输入创建的对象数组。每次用户按下Add to Array
按钮时,它都应该向数组中添加一个新对象。但是,当我将数组记录到控制台时,它会显示循环引用。
我的测试代码如下:
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);
})
<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>
这是维护对象集合的错误方法,稍后将发布到服务器?
解决方案
您只需要在单击时在函数中声明 var 数据,如下例所示:
var selected = [];
$("button").click(function() {
var data = {
name: $(".name").val(),
id: $(".id").val(),
data: $(".data").val()
}
selected.push(data);
console.log(selected);
})
<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>
推荐阅读
- python - 由于递归限制,python分段错误(核心转储)?
- javascript - 使用 JavaScript 和 css 拖动时如何隐藏光标
- react-native - 更新新版本“^12.0.0”后反应原生 Firebase 消息 getToken() 不起作用
- java - 将项目添加到树并验证的实现是否正确?
- javascript - d3 v3 圆环图中的数据绑定
- python - AttributeError:“Page1”对象没有属性“attributes”
- python - 为什么我的 docker 容器没有拾取在 docker-compose 中设置的环境变量?
- nginx - Nginx 阻止特定端口上的 GET 请求
- c - 如何使用 FIFO(在 C 中)为父进程提供文件名?
- kotlin - 协程中的 Kotlin 异步:异常被捕获并仍在传播?