{"ScriptPreparationCode":"const variantSummary = [\r\n {\r\n id: \u0022__BARCODE_ONE__\u0022,\r\n sku: \u0022__BARCODE_ONE__\u0022,\r\n barcode: \u0022__BARCODE_ONE__\u0022,\r\n media: [\r\n {\r\n url: \u0022__IMAGE_ONE_URL__\u0022,\r\n mediaContentType: \u0022IMAGE\u0022,\r\n },\r\n ],\r\n price: {\r\n amount: {\r\n amount: 1,\r\n amountFormatted: \u0022$1\u0022,\r\n currencyCode: \u0022AUD\u0022,\r\n },\r\n priceDisplayType: \u0022STANDARD\u0022,\r\n },\r\n colour: {\r\n id: \u00221\u0022,\r\n name: \u0022__COLOUR_ONE__\u0022,\r\n swatch: null,\r\n media: [\r\n {\r\n url: \u0022__IMAGE_ONE_URL__\u0022,\r\n mediaContentType: \u0022IMAGE\u0022,\r\n },\r\n ],\r\n },\r\n size: {\r\n id: \u00221\u0022,\r\n value: \u0022__SIZE_ONE__\u0022,\r\n },\r\n available: true,\r\n stock: 100,\r\n },\r\n {\r\n id: \u0022__BARCODE_TWO__\u0022,\r\n sku: \u0022__BARCODE_TWO__\u0022,\r\n barcode: \u0022__BARCODE_TWO__\u0022,\r\n media: [\r\n {\r\n url: \u0022__IMAGE_TWO_URL__\u0022,\r\n mediaContentType: \u0022IMAGE\u0022,\r\n },\r\n ],\r\n price: {\r\n amount: {\r\n amount: 1,\r\n amountFormatted: \u0022$1\u0022,\r\n currencyCode: \u0022AUD\u0022,\r\n },\r\n priceDisplayType: \u0022STANDARD\u0022,\r\n },\r\n colour: {\r\n id: \u00222\u0022,\r\n name: \u0022__COLOUR_TWO__\u0022,\r\n media: [\r\n {\r\n url: \u0022__IMAGE_TWO_URL__\u0022,\r\n mediaContentType: \u0022IMAGE\u0022,\r\n },\r\n ],\r\n swatch: {\r\n url: \u0022__COLOUR_TWO_SWATCH_URL__\u0022,\r\n mediaContentType: \u0022IMAGE\u0022,\r\n },\r\n },\r\n size: {\r\n id: \u00221\u0022,\r\n value: \u0022__SIZE_ONE__\u0022,\r\n },\r\n available: true,\r\n stock: 100,\r\n },\r\n {\r\n id: \u0022__BARCODE_THREE__\u0022,\r\n sku: \u0022__BARCODE_THREE__\u0022,\r\n barcode: \u0022__BARCODE_THREE__\u0022,\r\n media: [\r\n {\r\n url: \u0022__IMAGE_TWO_URL__\u0022,\r\n mediaContentType: \u0022IMAGE\u0022,\r\n },\r\n ],\r\n price: {\r\n amount: {\r\n amount: 1,\r\n amountFormatted: \u0022$1\u0022,\r\n currencyCode: \u0022AUD\u0022,\r\n },\r\n priceDisplayType: \u0022STANDARD\u0022,\r\n },\r\n colour: {\r\n id: \u00222\u0022,\r\n name: \u0022__COLOUR_TWO__\u0022,\r\n media: [\r\n {\r\n url: \u0022__IMAGE_TWO_URL__\u0022,\r\n mediaContentType: \u0022IMAGE\u0022,\r\n },\r\n ],\r\n swatch: {\r\n url: \u0022__COLOUR_TWO_SWATCH_URL__\u0022,\r\n mediaContentType: \u0022IMAGE\u0022,\r\n },\r\n },\r\n size: {\r\n id: \u00222\u0022,\r\n value: \u0022__SIZE_TWO__\u0022,\r\n },\r\n available: true,\r\n stock: 100,\r\n },\r\n {\r\n id: \u0022__BARCODE_FOUR__\u0022,\r\n sku: \u0022__BARCODE_FOUR__\u0022,\r\n barcode: \u0022__BARCODE_FOUR__\u0022,\r\n media: [\r\n {\r\n url: \u0022__IMAGE_TWO_URL__\u0022,\r\n mediaContentType: \u0022IMAGE\u0022,\r\n },\r\n ],\r\n price: {\r\n amount: {\r\n amount: 1,\r\n amountFormatted: \u0022$1\u0022,\r\n currencyCode: \u0022AUD\u0022,\r\n },\r\n priceDisplayType: \u0022STANDARD\u0022,\r\n },\r\n size: {\r\n id: \u00222\u0022,\r\n value: \u0022__SIZE_TWO__\u0022,\r\n },\r\n available: true,\r\n stock: 100,\r\n },\r\n];\r\n\r\nconst aggregateSizesByFind = variants =\u003E \r\n variants.reduce((acc, { size }) =\u003E {\r\n if (size \u0026\u0026 !acc.some((accItem) =\u003E accItem.value === size.value)) {\r\n acc.push(size);\r\n }\r\n return acc;\r\n }, []);\r\n\r\nconst aggregateSizesByMap = variants =\u003E\r\n Array.from(\r\n variants\r\n .reduce((acc, { size }) =\u003E {\r\n if (size) {\r\n acc.set(size.id, size);\r\n }\r\n return acc;\r\n }, new Map())\r\n .values()\r\n );\r\n\r\nconst aggregateSizesByMap2 = variants =\u003E {\r\n const sizeMap = new Map();\r\n\r\n for (const { size } of variants) {\r\n if (size) {\r\n sizeMap.set(size.id, size);\r\n }\r\n }\r\n\r\n return Array.from(sizeMap.values());\r\n};\r\n\r\nconst aggregateSizes3 = variants =\u003E\r\n variants\r\n .map((variant) =\u003E variant.size)\r\n .filter((size, index, sizes) =\u003E sizes.indexOf(size) === index)\r\n .filter((size) =\u003E !!size);\r\n\r\n","TestCases":[{"Name":".find","Code":"const sizes = aggregateSizesByFind(variantSummary);","IsDeferred":false},{"Name":"Map","Code":"const sizes = aggregateSizesByMap(variantSummary);","IsDeferred":false},{"Name":"Map 2","Code":"const sizes = aggregateSizesByMap2(variantSummary);","IsDeferred":false},{"Name":".map.filter","Code":"const sizes = aggregateSizesByMap2(variantSummary);","IsDeferred":false}]}