Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function solve(params) {
- params.pop();
- let stores = {};
- for (let param of params) {
- let tokens = param.split("->");
- let command = tokens[0];
- if (command === "Add" && !tokens[2].includes(",")) {
- let store = tokens[1];
- let item = tokens[2];
- if (!stores.hasOwnProperty(store)) {
- stores[store] = {
- items: []
- };
- }
- stores[store].items.push(item);
- } else if (command === "Add" && tokens[2].includes(",")) {
- let store = tokens[1];
- let items = tokens[2].split(",");
- if (!stores.hasOwnProperty(store)) {
- stores[store] = {
- items: []
- };
- }
- items.forEach(item => {
- stores[store].items.push(item);
- });
- } else if (command === "Remove") {
- let store = tokens[1];
- if (stores.hasOwnProperty(store)) {
- delete stores[store];
- }
- }
- }
- console.log("Stores list:");
- Object.entries(stores)
- .sort((a, b) => {
- let result = b[1].items.length - a[1].items.length;
- if (result === 0) {
- result === b[0].localeCompare(a[0]);
- }
- return result;
- })
- .forEach(store => {
- console.log(store[0]);
- store[1].items.forEach(item => console.log(`<<${item}>>`));
- });
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement