// const first = data.groups_with_selected[7];
// const second = data.groups_with_selected[20];
// data.groups_with_selected.splice(2, 0, first, second);
// data.groups_with_selected.splice(9, 1)
// data.groups_with_selected.splice(21, 1)
但是上面代碼的問題是,我能夠在控制臺中獲取更新的排序控制臺值。但明智的過濾器不會更新。
uj5u.com熱心網友回復:
這個問題的解決方案是首先對陣列進行分組,然后使用它flat()來展平/恢復它,使其具有相同的級別:
const orderMap = ['third', 'second', 'first'];
const array = [{name: 'first'}, {name: 'second'}, {name: 'third'}, {name: 'second'}];
const sorted = orderMap.reduce((prev, curr, index) => {
prev[index] = array.filter(item => item.name === curr)
return prev
}, []).flat()
console.log(sorted)
uj5u.com熱心網友回復:
使用sortjavascript 方法。由于是一個物件,因此您不會直接對值進行排序。在groups方法內部,使用您的sorted變數。這將使用“名稱”作為按字母順序排列的排序鍵對陣列進行排序。
sorted.sort((a, b) => {
return a.name.toLocaleLowerCase().localeCompare(b.name.toLowerCase());
})
return sorted
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/346399.html
標籤:javascript Vue.js 公理
