我有两个JavaScript数组,该名称是相同的,但是可以找到不同的文件。在HTML中,我使用脚本SRC标签来加载JS文件的数组。我使用loadsh模块(或者也许不重要,因为它可以在window对象中找到),不幸的是,它不能加载两个。
例如:
first.js intaints: var obj = [{"ads":"1"}]
second.js intaints: var obj = [{"ads":"2"}]
因为加载仅使用对象名称而不是文件名:
(<any>window).obj
预期的结果是,我必须进入NG2这两个对象。
这是一个简单的示例:
var array = [{
name: "fo1",
value: "val_1"
}, {
name: "fo1",
value: ["val_1", "val_2"]
}, {
name: "fo2",
value: "val4"
}];
var output = [];
array.forEach(function(value) {
var existing = output.filter(function(v, i) {
return v.name == value.name;
});
if (existing.length) {
var existingIndex = output.indexOf(existing[0]);
output[existingIndex].value = output[existingIndex].value.concat(value.value);
} else {
if (typeof value.value == 'string')
value.value = [value.value];
output.push(value);
}
});
console.dir(output);