我正在寻找一种JavaScript解决方案,以通过合并多维数组而不从同一数组中形成值簇来获取数组。
const collection = [['AA'], ['BBB'], ['CCCC']]
我想要实现的结果是:
const result = ['ACBCABCBC']
该集合将始终进行排序,并且不一定包含比前一个元素大1个元素的子数组,它的长度可以比以前的任何元素大。
答案 0 :(得分:0)
您可以使用.map()
,.reduce()
,.join()
和.split()
方法来做到这一点。
array
转换为string
。reduce
strings
合并为一个string
。string
将此array
转换回.split("")
个字符。array
改组,然后将其转换回string
。这应该是您的代码:
var result = collection.map(e => e.join(""))
.reduce((a, b) => (a + b))
.split("");
result = shuffle(result);
result = [result.join("")];
演示:
function shuffle(a) {
for (let i = a.length - 1; i > 0; i--) {
const j = Math.floor(Math.random() * (i + 1));
[a[i], a[j]] = [a[j], a[i]];
}
return a;
}
const collection = [
['AA'],
['BBB'],
['CCCC']
]
var result = collection.map(e => e.join(""))
.reduce((a, b) => (a + b))
.split("");
result = shuffle(result);
result = [result.join("")];
console.log(result);
答案 1 :(得分:0)
map.setZoom((map.getBoundsZoomLevel(bounds))); //To rezoom the map
map.setCenter(bounds.getCenter()); //To center the map
检查一下,并告诉我是否存在边缘情况。