我正在尝试在javascript中创建一个关联数组,其中一个数组填充了位于复选框的attr字段中的动态数据 - 称为“path”和“name”。我想这样做,以便每次选中一个复选框时,其attr“path”是一个索引 - 因为有五个可以检查的复选框可以与该特定路径相关联。如果可能的话,我希望数组是这样的,其中“name”attr与路径[“path1”,“name1”,“name2”,“name3”,“name4”,“name5”,“path2”相关联“name1ofpath2”] 我尝试使用对象,但是当我检查复选框时,我只收到一条警告“[对象对象]”.....任何想法?也许我的措辞令人困惑?
var array = {};
$(".checkbox").bind('change',function() {
var path = $(this).attr("path");
var name = $(this).attr("name");
array[path] = name;
答案 0 :(得分:1)
问题不在于您的代码,而在于alert
,在传递对象时会调用其.toString()
方法,该方法通常会报告[object Object]
。请尝试使用console.dir()
。
对于您的对象本身,使用{}
时所拥有的是一个对象,其属性等同于可用于关联数组的键其他语言,即
var obj = {
path1: name1,
path2: name2,
...
};
它根本不是一个“阵列”。