对不起,如果问题有点愚蠢,但我完全不喜欢这个。
我编写代码,但我不确定我是否正确地执行此操作。我的代码工作正常,但对我来说并不合适。
我需要保存多个值,这些值之间存在某种关系。
例如我添加电视列表标记,屏幕大小和按钮以从列表中删除。
为此,我使用3个数组arrayName,arraySize和arrayButton。 按钮生成名称但是Delta1,但是Del2,但是Del3等......
我使用arrayName.push
推送arrayName中的值我对数组大小做同样的事情,并使用for循环生成按钮名称。比我检查是但是名字,如果是我的拷贝号码,并删除数字位置上的电视,如果是butDel3我删除名称,大小在position3 ...等...
而且我再次定义按钮数组,获取所有按钮名称......
在代码中它正在做这样的事情(整个代码是重要的,我写了重要部分):
首先定义数组
var arrayName = [];
var arraySize = [];
var arrayButton = [];
之后添加值: arrayName.push( “TOSHIBA”); arraySize.push(“50 cm”); arrayName.push( “三星”); arraySize.push(“80 cm”); arrayName.push( “SONY”); arraySize.push(“55 cm”);
现在我需要定义数组中有多个位置的按钮。
if (aarayButton.length < arrayName.length) {
arrayButton = [];
for (y = 0; y < arrayName.length; y++) {
arrayButton.push("btnDel" + y.toString());
}
}
当我想从数组中删除时:
if (event.target.id.indexOf("btnDel") != -1) {
id = event.target.id.replace('btnDel', '');
arrayName.splice(id, 1);
arraySize.splice(id, 1);
现在我再次定义按钮数组(那首歌给我错了) if(aarayButton.length&lt; arrayName.length){ arrayButton = []; for(y = 0; y&lt; arrayName.length; y ++){ arrayButton.push(“btnDel”+ y.toString()); } }
例如我点击但是我在拼接中 arrayName.splice(1,1);
(在此代码中为“samsung”)
我再次生成按钮数组,只有butDel0和butDel1,如果我不这样做,我有butdel2而不是arrayname [2]。
我确信这个更好的逻辑,但就像我说我是菜鸟,我不知道比数组更好的东西。我想到了关于json的事情,但我找不到方法。
谢谢。
答案 0 :(得分:2)
var arrayName = [];
var arrayButton = [];
arrayName["toshiba"] = "50 cm";
arrayName["samsung"] = "80 cm";
删除
if (event.target.id.indexOf("btnDel") != -1) {
id = event.target.id.replace('btnDel', '');
delete arrayName[id];
}
尝试这种关联方法