I have an array of users and each user has a unique id. I want to sort this array by comparing with my currentUser
so I can have my current user in the first place inside the array and all others after that(alphabetically)
how can I do that in javascript?
Thanks
const currentuser = "f8a0b09c-ea3e-4f33-9c01-c16200f6ce1b";
const lists = [
{
"name": "Mahdieh Hosseiny",
"avatar": "/static/media/defaultAvatar.95bdd942.svg",
"id": "eb6433d3-11e8-4660-82fa-3f53cca569f4"
},
{
"name": "Ahmad Dehnavi",
"avatar": "/static/media/defaultAvatar.95bdd942.svg",
"id": "dc21291c-34bc-4363-b733-cbc405ba2eab"
},
{
"name": "Staff 4 Worrell",
"avatar": "/static/media/defaultAvatar.95bdd942.svg",
"id": "a3738c05-d6fb-4fb2-90ef-98d0b71939c5"
},
{
"name": "Amir Hossein",
"avatar": "/static/media/defaultAvatar.95bdd942.svg",
"id": "c1a70e04-992e-4509-8271-29efe3f6813b"
},
{
"name": "Hormoz Javadi",
"avatar": "/static/media/defaultAvatar.95bdd942.svg",
"id": "c9dbbb02-7179-4137-87df-f080cd5b7400"
},
{
"name": "westscityclub verify",
"avatar": "/static/media/defaultAvatar.95bdd942.svg",
"id": "25b93407-7b0d-4639-a758-0c7e40a88dc4"
},
{
"name": "Tina Worrell",
"avatar": "savatar.jpg",
"id": "f8a0b09c-ea3e-4f33-9c01-c16200f6ce1b"
}
]
This will ouput the result array in which the correspoding object will be the first, and others will be sorted by name
prop:
[
...lists.filter((item) => item.id === currentuser),
...lists.filter((item) => item.id !== currentuser).sort((a, b) => a.name.localeCompare(b.name)),
]
const currentuser = "f8a0b09c-ea3e-4f33-9c01-c16200f6ce1b";
const lists = [
{
"name": "Mahdieh Hosseiny",
"avatar": "/static/media/defaultAvatar.95bdd942.svg",
"id": "eb6433d3-11e8-4660-82fa-3f53cca569f4"
},
{
"name": "Ahmad Dehnavi",
"avatar": "/static/media/defaultAvatar.95bdd942.svg",
"id": "dc21291c-34bc-4363-b733-cbc405ba2eab"
},
{
"name": "Staff 4 Worrell",
"avatar": "/static/media/defaultAvatar.95bdd942.svg",
"id": "a3738c05-d6fb-4fb2-90ef-98d0b71939c5"
},
{
"name": "Amir Hossein",
"avatar": "/static/media/defaultAvatar.95bdd942.svg",
"id": "c1a70e04-992e-4509-8271-29efe3f6813b"
},
{
"name": "Hormoz Javadi",
"avatar": "/static/media/defaultAvatar.95bdd942.svg",
"id": "c9dbbb02-7179-4137-87df-f080cd5b7400"
},
{
"name": "westscityclub verify",
"avatar": "/static/media/defaultAvatar.95bdd942.svg",
"id": "25b93407-7b0d-4639-a758-0c7e40a88dc4"
},
{
"name": "Tina Worrell",
"avatar": "savatar.jpg",
"id": "f8a0b09c-ea3e-4f33-9c01-c16200f6ce1b"
}
];
console.log([
...lists.filter((item) => item.id === currentuser),
...lists.filter((item) => item.id !== currentuser).sort((a, b) => a.name.localeCompare(b.name)),
]);