合并两个数组以使用 JS 模板(MustacheJS、Handlebars、Dust)

Merging two arrays to work with JS templating (MustacheJS, Handlebars, Dust)

我正在链接到一个外部 JSON 文件,并希望将其中的两个数组转换为一个数组,以便与 MustacheJS、Handlebars、Dust 等 JS 模板框架一起使用

这似乎可以在 Underscore 中使用 extend 但我发现另一种可能性称为 concat,但这似乎只在两个单独的数组而不是一个文件上演示 https://www.w3schools.com/jsref/jsref_concat_array.asp

是否可以合并来自单一来源的两个数组以用于 JS 模板?

这是JSON http://myjson.com/kjs8l

所以本质上,转换:

[
  [
    {
      "productimage": "https://c.static-nike.com/a/images/t_PDP_864_v1/f_auto/i0lfddlghaiwfqlvlqay/air-vortex-shoe-fmq6pS.jpg",
      "producturl": "https://www.nike.com/gb/t/air-vortex-shoe-fmq6pS"
    },
    {
      "productimage": "https://c.static-nike.com/a/images/t_PDP_864_v1/f_auto/cmuof8adhfipkvd0f43r/air-max-95-shoe-XPTbV2mM.jpg",
      "producturl": "https://www.nike.com/gb/t/air-max-95-shoe-XPTbV2mM"
    }
  ],
  [
    {
      "sitename": "Nike",
      "sitetitle": "Nike. Just Do It.. Nike.com",
      "siteurl": "https://www.nike.com/gb/en_gb/"
    }
  ]
]

进入

[
    {
      "productimage": "https://c.static-nike.com/a/images/t_PDP_864_v1/f_auto/i0lfddlghaiwfqlvlqay/air-vortex-shoe-fmq6pS.jpg",
      "producturl": "https://www.nike.com/gb/t/air-vortex-shoe-fmq6pS"
    },
    {
      "productimage": "https://c.static-nike.com/a/images/t_PDP_864_v1/f_auto/cmuof8adhfipkvd0f43r/air-max-95-shoe-XPTbV2mM.jpg",
      "producturl": "https://www.nike.com/gb/t/air-max-95-shoe-XPTbV2mM"
    }
    {
      "sitename": "Nike",
      "sitetitle": "Nike. Just Do It.. Nike.com",
      "siteurl": "https://www.nike.com/gb/en_gb/"
    }
]

所以假设你在 JS 中读取文件,那么你可以只使用 concat 方法:

var arrays = [
[
    {
      "productimage": "https://c.static-nike.com/a/images/t_PDP_864_v1/f_auto/i0lfddlghaiwfqlvlqay/air-vortex-shoe-fmq6pS.jpg",
      "producturl": "https://www.nike.com/gb/t/air-vortex-shoe-fmq6pS"
    },
    {
      "productimage": "https://c.static-nike.com/a/images/t_PDP_864_v1/f_auto/cmuof8adhfipkvd0f43r/air-max-95-shoe-XPTbV2mM.jpg",
      "producturl": "https://www.nike.com/gb/t/air-max-95-shoe-XPTbV2mM"
    }
  ],
  [
    {
      "sitename": "Nike",
      "sitetitle": "Nike. Just Do It.. Nike.com",
      "siteurl": "https://www.nike.com/gb/en_gb/"
    }
  ]
];
var mergedArrays = [];
for (var i = 0; i < arrays.length; i++){
    mergedArrays=mergedArrays.concat(arrays[i]);
}
console.log(mergedArrays);

参见:https://jsfiddle.net/91nmx4uh/

这是你想要的吗?