我正在开发一个 javascript 插件,它将获取一组元素并以自定义方式(排序、列顺序、标准)在表格中显示它。自定义选项将动态创建(日期属性将生成“之前”标准等)。
该插件将在许多不同的项目中使用,因此元素可能会有很大差异,并且随着显示的自定义,每个表格创建所需的属性也会有所不同。
我应该要求将元素作为对象还是作为数组?
基本上(不是真正的代码 - 我不会使用 foreach ;)所做的是:
foreach element in allelements
row=new tablerow
foreach columnid in chosencolumns
row.add(element[columnid])
table.add(row)
如果每个元素都是一个数组,则 columnid 是索引,但如果每个元素都是属性名称。
element[3] 比 element['prop3'] 快吗?
我在这里制作了一个 Beta 版本,其中将元素存储为数组,但我不确定这是否是最好/最快的方式
编辑:由于项目的性质,元素属性的排序并不重要。 还:哪种方式会消耗更多内存?一些系统将包含许多具有许多属性的元素,因此内存可能是一个问题:-/
第二次编辑:如果我使用对象,我还需要为对象创建一个属性名称数组。因此,如果用户选择让视图包含第 13、第 2 和第 4 个属性作为第 1、第 2 和第 3 列,我需要为每个元素执行以下操作
row.add(element[propertynames[13]])
row.add(element[propertynames[2]])
row.add(element[propertynames[4]])
而如果我选择数组解决方案,我会“保存”属性名查找:
row.add(element[13])
row.add(element[2])
row.add(element[4])