我有一个工作函数,它检查表单中的脏数据并跟踪脏元素是哪个div容器。我试图弄清楚如何将{element.id:element.value}对存储/推送到一个对象,其中键是div容器映射到子{element.id:element.value}对的数组:< / p>
...
var dirtyData = {};
(pseudo) for each element in the form
//isEditableData() returns the div id if we care about the div, else false
var divContainer = isEditableData(element);
if (!divContainer)
continue;
(pseudo) if the element is dirty
cacheDirtyData(dirtyData, divContainer, element.id, element.value);
...
function cacheDirtyData(dataObj, divContainer, elementId, elementValue) {
//I want to do something like...
dataObj["'" + divContainer + "'"][] = {elementId : elementValue};
}
我这样做是假设dirtyData对象是“通过引用”传递的,我可以添加它。我知道这不是理想的代码(没有ctor等),但是我有一个截止日期,我只是想让这只猪眨眼。
答案 0 :(得分:0)
对于“缓存”功能:
function cacheDirtyData (dataObj, divContainerId, elementId, elementValue) {
if (dataObj.hasOwnProperty(divContainerId))
dataObj[divContainer_ID].push({ elementId: value });
else
dataObj[divContainer_ID] = [{ elementId: elementValue }];
}
您可以使用div容器的Id作为传递给函数的字符串(divContainerId
)。