gpt4 book ai didi

javascript - 每次单击都将新元素添加到关联数组

转载 作者:塔克拉玛干 更新时间:2023-11-02 22:51:18 26 4
gpt4 key购买 nike

这可能很简单,但我现在不知道如何解决。每次单击提交按钮时,下面的函数都会检查输入字段 1(名称),如果不为空,则将值添加到关联数组,并继续描述。

我想要的是在每次点击时向数组添加一个新的 1 级元素,它应该包含这些值,以便在点击三次后看起来像这样:

Click 1:
listObject[0]['listObjectName'] = 'Name 1';
listObject[0]['listObjectDesc'] = 'Desc 1';

Click 2:
listObject[1]['listObjectName'] = 'Name 2';
listObject[1]['listObjectDesc'] = 'Desc 2';

Click 3:
listObject[2]['listObjectName'] = 'Name 3';
listObject[2]['listObjectDesc'] = 'Desc 3';

函数:

$('#addListObjectSubmit').click(function (e) {

var listObjectName = $('#m_newListObject').val();

if((listObjectName == null) || (listObjectName == '')) {
return false;
}
else {
listObjects['listObjectName'] = listObjectName;

var listObjectDesc = $('#m_newListObjectDesc').val();

if ((listObjectDesc == null) || (listObjectDesc == '')) {
listObjects['listObjectDesc'] = null;
}
else {
listObjects['listObjectDesc'] = listObjectDesc;
}
}

e.preventdefault();
});

那么,处理这个问题的最佳方法是什么?

最佳答案

如果您忘记关联数组,它会对您有所帮助。它们只在理论上存在于 Javascript 中。其实万物皆对象,数组也不异常(exception)。但是从数据存储的 Angular 考虑,您可以使用一个简单的 array只能用数字索引,或者您可以使用 object作为数据图。

以下示例创建一个数组(注意更紧凑的 [] 而不是 new Array())和 pushes将 map (使用 {} 创建)放入其中:

var listObjects = [];
...
var newElem = {
'listObjectName' : 'Name 1',
'listObjectDesc' : 'Desc 1'
};
listObjects.push(newElem);

之后,如果它是数组中的第一个元素,您可以使用 listObjects[0] 访问该元素。

如果你想访问它的属性,你可以使用以下之一:

listObjects[0].listObjectName
listObjects[0]['listObjectName']

所以你可以看到,在处理对象时,可以使用. 表示法,也可以使用括号表示法——它们是等价的,但后一种形式让它看起来像是一个“联想词”数组”(对于来自 PHP 的人来说更多)。

关于javascript - 每次单击都将新元素添加到关联数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13078111/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com