在JavaScript(NG2)中导入两个同名数组



我有两个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);

最新更新