如何使用 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]