-2
const marks = [{name: "siva", value: "200"}, {name: "sai", value: "300"}, {name: "varma", value: "400"}]
const userdetails =  [{name: "varma", id: "012"},{name: "siva", id: "017"}, {name: "sai", id: "016"}]

I have 2 arrays of objects, I want to sort my array of marks based on the order i have in the userdetails, Need to order based on the name key.

Expected Output:

const updatedmarks = [{name: "varma", value: "400"},{name: "siva", value: "200"}, {name: "sai", value: "300"}]
1

1 Answer 1

0

const marks = [{name: "siva", value: "200"}, {name: "sai", value: "300"}, {name: "varma", value: "400"}]
const userdetails =  [{name: "varma", id: "012"},{name: "siva", id: "017"}, {name: "sai", id: "016"}]

const sortMarks = (a, b, order) => order.findIndex(o => o.name == a.name) - order.findIndex(o => o.name == b.name);

const result = marks.sort((a, b) => sortMarks(a, b, userdetails));
console.log(result);

Sign up to request clarification or add additional context in comments.

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.