我有兩個數組。第一個包含單詞,第二個 - 它們的權重。它們與指數相關聯。我怎樣才能排序這些數組的第二個數組,維護關聯?這種關聯分類方式安全使用嗎?
這是我已經嘗試:
let words = [
'car',
'house',
'sky',
'dog',
'wheel',
'man',
'tree',
'earth'
];
let weights = [
10,
43,
23,
95,
55,
41,
29,
84
];
let memory = [];
weights.sort((a, b) => {
memory.push(b - a);
return memory[memory.length - 1];
});
words.sort(() => memory.shift());
for (let i = 0; i < words.length; i++) {
console.log(words[i], weights[i]);
}
這似乎是正常工作。但我擔心這可能不起作用。這種方法在理論上是正確的嗎?
注意!我不是要求你修復我的算法。我問你,說出這種排序可能出現的錯誤。
爲什麼不只是使物體的一個陣列,像'word'和'weight'鑰匙?這不僅會讓你的代碼更加清晰,而且它也能保證正常工作 – Leva7
是的你是對的。這可以用另一種方式完成。這是我知道的。我沒有要求優化我的算法。我想知道它是否會正常工作。就這樣。 – vihtor
是的,你應該害怕它可能無法正常工作。你不能認爲排序算法總是相同的。 – Bergi