在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'