在Javascript中将二维数组转换为字符串

在Javascript中将二维数组转换为字符串,javascript,multidimensional-array,Javascript,Multidimensional Array,这就是问题所在 const adFormats = { leaderboard: { sizes: [ [728, 90], ], }, rectangle: { sizes: [[320, 250], [300, 250], 'fluid'], }, halfpage: { sizes: [[300, 600], [320, 250], [300, 250]], }, }; 我想用join()和/或map()使这个更干净。

这就是问题所在

const adFormats = {
  leaderboard: {
    sizes: [
      [728, 90],
    ],
  },
  rectangle: {
    sizes: [[320, 250], [300, 250], 'fluid'],
  },
  halfpage: {
    sizes: [[300, 600], [320, 250], [300, 250]],
  },
};
我想用join()和/或map()使这个更干净。 为了防止使用前置或后置分离器。
还需要一些更干净的代码。

您可以过滤内部数组,连接所有嵌套数组并映射外部数组

const
adFormats={Leadboard:{sizes:[[728,90]]},矩形:{sizes:[[320250],[300250],'fluid']},半页:{sizes:[300600],[320250],[300250]},
结果=[‘排行榜’、‘矩形’、‘半页’]
.map(k=>adFormats[k]。大小
.filter(Array.isArray)
.map(a=>a.join('x'))
.join(“|”)
)
.join(“,”)
console.log(结果);/'728x90320x250 | 300x250300x600 | 320x250 | 300x250'
Object.keys(adFormats).forEach(key => {
  adFormats[key].sizes.forEach(size => {
    if (typeof size !== 'string') {
      companionSizes += `${size[0]}x${size[1]}`; 
    }
    companionSizes += '|';
  });
  companionSizes += ',';
});
// expected output: '728x90,320x250|300x250,300x600|320x250|300x250'