const input = [
{ value: 'ss i', order: 2, expired: true },
{ value: 'evol', order: 3, expired: true },
{ value: 'ff kciuq', order: 1, expired: false },
{ value: 'te j j ', order: 5, expired: false },
{ value: 'xooff', order: 4, expired: false },
];
const solution1 = (arr) => arr
.filter(it => !it.expired)
.sort((a, b) => a.order - b.order)
.reduce((acc, it) => {
acc += it.value.split('').reverse().join('');
acc = Array.from(new Set(acc)).join('')
return acc;
},'');
const solution2 = (arr) => {
let result = '';
const sortedArr = arr.slice().sort((a, b) => a.order - b.order);
sortedArr.forEach(it => {
if (!it.expired) {
result += it.value.split('').reverse().join('');
}
});
return [...new Set(result)].join('');
}
const solution3 = (arr) => {
return arr
.filter(({ expired }) => !expired)
.sort((a, b) => a.order - b.order)
.reduce((acc, res) => {
acc.push(...res.value.split('').reverse());
return Array.from(new Set(acc));
}, [])
.join('');
};
const solution4 = (arr) => {
const result = arr
.filter((it) => !it.expired)
.sort((a, b) => a.order - b.order)
.reduce((acc, res) => {
acc.push(...res.value.split('').reverse());
return acc;
}, []);
return Array.from(new Set(result)).join('');
}