javascript - 基于彼此同时对两个数组进行排序
问题描述
我有两个数组排序并准备好,如下所示:
const mains = [1, 5, 6, 8 , 12];
const secondaries = [1, 6, 12];
我想根据上述数组动态创建一个div
具有多个的,例如:spans
<span class="main">${unit}</span>
<span class="secondary">${unit}</span>
问题是我无法找到合适的解决方案来对两个数组进行排序并创建这些 spans 。
在给定的数组中,结果应该是这样的:
<span class="main"> 1 </span>
<span class="secondary"> 1 </span>
<span class="main"> 5 </span>
<span class="main"> 6 </span>
<span class="secondary"> 6 </span>
<span class="main"> 8 </span>
<span class="main"> 12 </span>
<span class="secondary"> 12 </span>
解决方案
遍历mains
数组,并检查是否有相应的元素secondaries
:
html = '';
mains.foreach(main => {
html += `<span class="main"> {$main} </span>`;
if (secondaries.includes(main) {
html += `<span class="secondary"> {$main} </span>`;
}
});
如果数组很大,您应该转换secondaries
为 aSet
并使用secondaries.has(main)
而不是secondaries.includes(main)
.