2 回答

TA貢獻1853條經驗 獲得超6個贊
假設 days 是選項的子集,并且您希望所有選項數組值都按照天數的項目索引進行排序。并且選項數組中的任何額外項目最終都會按照它們的出現順序出現。
這是代碼
var options = ["day", "yearly","week", "sixmonth",'month',"newMonth"];
var days = ['day','week','month','yearly','sixmonth']
var sorted=days.filter(val=>options.includes(val))
options = options.filter(val => !days.includes(val))
sorted.push(...options)
console.log(sorted)
var s = document.getElementById("selectCity");
for (var i = 0; i < sorted.length; i++) {
s.innerHTML += `<option value=${i}> ${sorted[i]}</option>`;
}

TA貢獻1812條經驗 獲得超5個贊
我認為選項是天的子集,并且您希望對選項進行排序,使其與天具有相同的順序。
這是一個例子:
var options = ["day", "yearly","week", "sixmonth",'month'];
var days = ['day','week','month','yearly','sixmonth'];
var sortedOptions = options.sort((a, b) => days.indexOf(a) - days.indexOf(b))
var s = document.getElementById("selectCity");
for (var i = 0; i < sortedOptions.length; i++) {
s.innerHTML += `<option value=${i}> ${sortedOptions[i]}</option>`;
}
添加回答
舉報