我知道只能将数组元素.push()放入数组。
我想完成一个对象的等效操作。
我知道点和括号符号,所以这不是那个老问题。我需要循环处理变量。
我已经研究过Object.assign(),但似乎无法使它工作。
下面的函数被重复调用。我需要使用js对象将提供给函数的数据标准化为一个小型数据库。
最后一行是症结所在。 (当然)这将继续覆盖divContent [section] .items [idValue]。
如何将记录对象“推入”由item [idValue]表示的键中?
我想获取{itemsKey:{k1:v1,k2:v2,k3:v3}}。谢谢!
无需维护索引顺序。例如,稍后需要将这些项称为itemsKey [k1]。
function createItemDb (section,fileName,fileContent) {
var fileExt = fileName.split('.')[1].toLowerCase();
fileType = ((fileExt == 'caption') || (fileExt == 'url')) ? fileExt : 'img';
if (fileType == 'img') {
var regExp = /\((.*?)\)/g;
var matches = regExp.exec(fileName);
fileType = matches[1].toLowerCase();
}
var regRemoveParenIncl = /\([^)]*\)/;
var regRemoveExt = /\.[^\/.]+$/;
var idValue = fileName.replace(regRemoveParenIncl,'').replace(regRemoveExt,'');
record = {};
record[fileType] = fileName;
divContent[section].items[idValue] = record;
}