首页 > 解决方案 > 基于彼此同时对两个数组进行排序

问题描述

我有两个数组排序并准备好,如下所示:

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>

标签: javascript

解决方案


遍历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).


推荐阅读