let arr = [12, 8, 15, 1, 24];
//1.先抓一张到手里[handle也是一个数组]
/* let handle = arr.slice(0, 1);
或者 */
let handle = [];
handle.push(arr[0]);
//2.依次去抓桌面上剩下的牌
for (let i = 1; i < arr.length; i++) {
//A是当前新抓的牌
let A = arr[i];
//3.用每一次新抓的牌A和手里的牌handle进行逐一比较[从后往前比]
for (let j = handle.length - 1; j >= 0; j--) {
//B是取出来的需要和A进行比较的,手里的某张牌
let B = handle[j];
//4.如果A>B需要把新抓的牌A放在B的后面
if (A > B) {
handle.splice(j + 1, 0, A);
//如果已经放在手中了,则没必要在要手里的其他牌比较了,继续抓下一张牌去
break;
}
//5.如果和手里的牌都比完了,发现A没有比手里的任何牌大,我们把A放在最前面即可
if (j === 0) {
handle.unshift(A);
}
}
}
console.log(handle);//[1, 8, 12, 15, 24]