3 回答

TA貢獻(xiàn)1798條經(jīng)驗(yàn) 獲得超7個(gè)贊
用于slice()制作副本,您可以在不改變?cè)紨?shù)組的情況下進(jìn)行排序,然后map()創(chuàng)建原始數(shù)組中每個(gè)已排序元素的索引的數(shù)組。
const data = [5.3, 2.4, 4.5, 6.2],
data2 = [10, 11, 5, 34, 3, 7, 17];
const sortedIndex = (arr) => {
return arr.slice().sort((a, b) => a - b).map(n => arr.indexOf(n))
}
console.log(JSON.stringify(sortedIndex(data)));
console.log(JSON.stringify(sortedIndex(data2)));

TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超6個(gè)贊
只需兩行代碼即可完成此操作:
var unsortedArray = [6, 4, 9, 1, 5];
var sortedArray = unsortedArray.slice().sort();
console.log(sortedArray); // [1, 4, 5, 6, 9]
console.log(unsortedArray); // [6, 4, 9, 1, 5]

TA貢獻(xiàn)1871條經(jīng)驗(yàn) 獲得超13個(gè)贊
您可以只復(fù)制數(shù)組然后對(duì)副本進(jìn)行排序嗎?
var array0 = [4,2,5,7,1.6];
var array1 = [];
for(var i=0;i<array0.length;i++){
array1.push(array0[i]);
}
array1.sort();
//array0 = [4,2,5,6,1.6]
//array1 = [1.6,2,4,5,6]
添加回答
舉報(bào)