在数组升序排序后,如果需要存储数组的原始索引,可以使用一个额外的数据结构来保存原始索引与数组元素的对应关系。一种常见的做法是创建一个新的数组,其中每个元素是一个对象,包含原始数组的值和对应的索引。
以下是一个示例代码:
// 原始数组
var arr = [5, 2, 8, 1, 9];
// 创建一个新的数组来保存原始索引
var indexedArr = arr.map(function(value, index) {
return { value: value, index: index };
});
// 对新数组进行升序排序
indexedArr.sort(function(a, b) {
return a.value - b.value;
});
// 输出排序后的数组和对应的原始索引
for (var i = 0; i < indexedArr.length; i++) {
console.log("值:" + indexedArr[i].value + ",原始索引:" + indexedArr[i].index);
}
输出结果为:
值:1,原始索引:3
值:2,原始索引:1
值:5,原始索引:0
值:8,原始索引:2
值:9,原始索引:4
在这个示例中,我们使用map
方法创建了一个新的数组indexedArr
,其中每个元素是一个对象,包含原始数组的值和对应的索引。然后,我们使用sort
方法对新数组进行升序排序。最后,我们遍历排序后的数组,输出每个元素的值和原始索引。
对于这个问题,腾讯云没有特定的产品或链接与之相关。
领取专属 10元无门槛券
手把手带您无忧上云