Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- const file = [
- {
- "seatNumber": "1A",
- "price": "£19.99",
- "available": true,
- "disabilityAccessible": true
- },
- {
- "seatNumber": "2A",
- "price": "£19.99",
- "available": false,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "3A",
- "price": "£19.99",
- "available": false,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "4A",
- "price": "£19.99",
- "available": true,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "5A",
- "price": "£19.99",
- "available": false,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "1B",
- "price": "£12.99",
- "available": true,
- "disabilityAccessible": true
- },
- {
- "seatNumber": "2B",
- "price": "£12.99",
- "available": false,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "3B",
- "price": "£12.99",
- "available": false,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "4B",
- "price": "£12.99",
- "available": false,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "5B",
- "price": "£12.99",
- "available": true,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "1C",
- "price": "£12.99",
- "available": true,
- "disabilityAccessible": true
- },
- {
- "seatNumber": "2C",
- "price": "£12.99",
- "available": true,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "3C",
- "price": "£12.99",
- "available": true,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "4C",
- "price": "£12.99",
- "available": true,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "5C",
- "price": "£12.99",
- "available": true,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "1D",
- "price": "£12.99",
- "available": true,
- "disabilityAccessible": true
- },
- {
- "seatNumber": "2D",
- "price": "£12.99",
- "available": false,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "3D",
- "price": "£12.99",
- "available": true,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "4D",
- "price": "£12.99",
- "available": true,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "5D",
- "price": "£12.99",
- "available": true,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "1E",
- "price": "£8.99",
- "available": true,
- "disabilityAccessible": true
- },
- {
- "seatNumber": "2E",
- "price": "£8.99",
- "available": true,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "3E",
- "price": "£8.99",
- "available": false,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "4E",
- "price": "£8.99",
- "available": true,
- "disabilityAccessible": false
- },
- {
- "seatNumber": "5E",
- "price": "£8.99",
- "available": false,
- "disabilityAccessible": false
- }
- ]
- const seats = file.filter( seat => seat.price.replace(/[^0-9.-]+/g,"") == Math.min(...file.map(function ( seat ) { return Number(seat.price.replace(/[^0-9.-]+/g,"")) }) ) ).map(seat => seat.seatNumber);
- console.log(seats)
- O(10) ~= 211
- O(100) ~= 20,102
- O(500) ~= 500,005
- function bestSeats(seats) {
- var min = Infinity, minVal;
- const result = [];
- for (const seat of seats) {
- const price = Number(seat.price.slice(1));
- if (price < min) {
- min = price;
- minVal = seat.price;
- }
- }
- for (const seat of seats) {
- if (seat.price === minVal) { result.push(seat.seatNumber) }
- }
- return result;
- }
- function bestSeats(seats) {
- const price2Num = seat => Number(seat.price.slice(1));
- const min = (min, seat) => price2Num(seat) < min ? price2Num(seat) : min;
- const minPrice = "$" + seats.reduce(min, Infinity);
- return seats.filter(seat => seat.price === minPrice).map(seat => seat.seatNumber);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement