[Demo] CheckBox Click When Disabled
[Demo] CheckBox Click When Disabled
by dying_sakura
JavaScript
const source = [
{
entryID: 1,
entryName: "player1",
weight: 1900,
class: ['a', 'b'],
},
{
entryID: 2,
entryName: "player2",
weight: 1900,
class: ['a', 'b'],
},
{
entryID: 3,
entryName: "player3",
weight: 1900,
class: ['c', 'd'],
},
{
entryID: 4,
entryName: "player4",
weight: 1900,
class: ['c', 'd'],
},
];
source.sort((a, b) => a.weight - b.weight);
const uniqueClass = source.reduce((prev, curr) => {
if (!prev.find(p => p.class.every((pc, i) => pc === curr.class[i]))) {
prev.push(curr);
source.splice(source.findIndex(s => s.entryID === curr.entryID), 1);
}
return prev;
}, []);
const groupWeightWithUniqueClass = uniqueClass.reduce((prev, curr, i) => {
const found = source.findIndex(s => s.weight === curr.weight && s.class.some((sc, i) => sc !== curr.class[i]));
prev[`${i}_${curr.weight}_${curr.weight}`] = [curr, source[found]];
source.splice(found, 1);
return prev;
}, {});
console.log(uniqueClass);