正确的方法来定义多个变量,数组或其他东西?

时间:2014-09-28 07:22:34

标签: javascript jquery asp.net-mvc

对不起,如果问题有点愚蠢,但我完全不喜欢这个。

我编写代码,但我不确定我是否正确地执行此操作。我的代码工作正常,但对我来说并不合适。

我需要保存多个值,这些值之间存在某种关系。

例如我添加电视列表标记,屏幕大小和按钮以从列表中删除。

为此,我使用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的事情,但我找不到方法。

谢谢。

1 个答案:

答案 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];
     }

尝试这种关联方法