How to sort in specific order - array prototype(not by value or by name)
ecmascript-6, javascript
Solution
You could use an object with the order of the values and their order. With a default value, you could move not specified values to start or end of the array.
var order = { wheel: 1, book: 2, car: 3, default: 1000 },
array = ['foo', 'car', 'book', 'wheel'];
array.sort(function (a, b) {
return (order[a] || order.default) - (order[b] || order.default);
});
console.log(array);
Problem
I wish to sort an array of three strings in a specific order. book, car and wheel. I can receive these strings in any order. There may be one or more strings - max three I would like to sort the strings in the following exact order if one or more strings are received. wheel, book, car assume the property name is name... I tried something like this: ``` myitem.sort((a, b) => { if(a.name === 'wheel') return 1; if(a.name === 'book' && b.name === 'car') return 1; return -1; ```