soword科技言
永久公益免费API接口
提供永久免费的API接口,查看更多API接口,如果您有其他免费API资源,请联系我们,造福人类。
提供商务开发:小程序,系统,APP
定制开发,免费评估,免费咨询,价格便宜,售后保障,前往开发服务中心联系开发客服中心
有没有一种方法可以将数据存储到json数组,而无需在javascript中删除json数组中以前存储的数据?

我正在尝试实现一种从输入框获取数据并将数据发送到json数组的方法,我实现了它,但是在推送新数组时删除了数组中的先前数据。我希望所有数据都存储在json数组中。如何在javascript或jquery中实现此目的。下面是我尝试过的。

<script>
$(document).ready(() => {
$('#submit').click(() => {
var objKey = 0;
var person = [];

var name = $('#name').val();
var age = $('#age').val();
var address = $('#address').val();
objKey++;
var obj = {
'id': objKey,
'name': name,
'age': age,
'address': address}

var hasMatch = false;

if (name === '' || age === '' || address === '') {
alert('Fields should not be null');
return false;
} else {
var index = 0;
if (index < person.length) {
++indexvar animal = person[index];

if (animal.name == obj.name) {
hasMatch = true;
alert('oops');
return false;
} else {
person.push(obj);
buildTable(person)

嘿,如果我没看错,问题出在你的数组:

var person = [];

每次您单击“提交”按钮都会被(重新)初始化。因此,您以前的数据将丢失。

尝试更改以下代码:

$(document).ready(() => {
 $('#submit').click(() => {
var objKey = 0;
var person = [];

至:

$(document).ready(() => {
 var person = [];
 $('#submit').click(() => {
var objKey = 0;

通过在就绪块中声明人员,您的Submit-Event可以访问此变量。但是,每次单击按钮时都不会覆盖它。

希望这可以帮助

问题是您每次点击都会创建一个数组。person变量移到点击处理程序之外:

$(document).ready(() => {
var person = [];// <==============
$('#submit').click(() => {
var objKey = 0;

如果这样做,则只有一个阵列,person.push并将其添加到该阵列中。

问题是,单击后您将数组“ person”重新定义为一个空数组。您应该在代码中之前定义它。


2023-03-22 10:04:19

新人小程序+APP定制199元起


发放福利,助力中小企业发展,真正在互联网中受益

点击询问定制

广告服务展示