生命之风的低语
Whispers in the Wind of Life.

如何使用 JavaScript 按特定顺序排列数组元素

秀秀 发布于 2024-7-19 11:20    48 次阅读

根据keys数组的顺序,将selectedIds数组中的元素进行排序。也就是说,selectedIds数组中的元素按照它们在keys数组中出现的顺序进行排列。

以下是一个实现此需求的 JavaScript 代码示例:

var keys = [['24', '25'], ['12', '13'], ['31', '32']];
var selectedIds = [12, 25, 32];

function sortSelectedIds(keys, selectedIds) {
    // 将keys中的所有元素展平为一个数组
    var flatKeys = keys.flat();

    // 将selectedIds转换为字符串数组,以便与flatKeys进行比较
    var selectedIdsStr = selectedIds.map(String);

    // 按照flatKeys的顺序对selectedIdsStr进行排序
    selectedIdsStr.sort(function(a, b) {
        return flatKeys.indexOf(a) - flatKeys.indexOf(b);
    });

    // 将排序后的字符串数组转换回数字数组
    return selectedIdsStr.map(Number);
}

var sortedSelectedIds = sortSelectedIds(keys, selectedIds);
console.log(sortedSelectedIds); // 输出: [25, 12, 32]

这个函数sortSelectedIds会根据keys数组中的顺序对selectedIds数组进行排序。运行上述代码将输出 [25, 12, 32]