我有两个Javascript数组,名称相同,但可以找到不同的文件。 在HTML中我使用脚本src标签从js文件加载数组。 我在NG2中使用了loadsh模块(或者可能并不重要,因为它可以在window对象中找到),不幸的是,它无法加载它们。
例如:
first.js含有:
var obj = [{"ads":"1"}]
second.js含有:
var obj = [{"ads":"2"}]
因为loadsh只使用对象名而不是文件名:
(<any>window).obj
预期的结果是,我必须在NG2中获得两个对象。
答案 0 :(得分:0)
这是一个简单的例子:
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);