{"ScriptPreparationCode":"var array = [\r\n { \u0027name\u0027: \u0027\uC18C\uB098\uD0C0\u0027, \u0027brand\u0027: \u0027\uD604\uB300\u0027 },\r\n { \u0027name\u0027: \u0027\uC544\uBC18\uB5BC\u0027, \u0027brand\u0027: \u0027\uD604\uB300\u0027 },\r\n { \u0027name\u0027: \u0027K7\u0027, \u0027brand\u0027: \u0027\uAE30\uC544\u0027 }\r\n];","TestCases":[{"Name":"Object.values / Object.assign","Code":"function func(array) {\r\n\tconst result = Object.values(array.reduce((prev, cur) =\u003E Object.assign(prev, { [cur.brand]: cur }), {})); \r\n \treturn result;\r\n}\r\n\r\nfunc(array);\r\n","IsDeferred":false},{"Name":"filter","Code":"function func(array) {\r\n\tlet uniq = {};\r\n\tconst result = array.filter(arr =\u003E !uniq[arr.brand] \u0026\u0026 (uniq[arr.brand] = true)); \r\n \treturn result;\r\n}\r\n\r\nfunc(array);\r\n","IsDeferred":false},{"Name":"filter / findIndex","Code":"function func(array) {\r\n\tconst result = array.filter((arr, i) =\u003E array.findIndex((arr2) =\u003E arr[\u0027brand\u0027] === arr2[\u0027brand\u0027]) === i);\r\n \treturn result;\r\n}\r\n\r\nfunc(array);\r\n","IsDeferred":false},{"Name":"for / includes","Code":"function func(array) {\r\n\tlet tempArray = [], resultArray = [];\r\n\r\n for (let i = 0; i \u003C array.length; i\u002B\u002B) {\r\n let arr = array[i];\r\n\r\n if (tempArray.includes(arr[\u0027brand\u0027])) {\r\n continue;\r\n } else {\r\n resultArray.push(arr);\r\n tempArray.push(arr[\u0027brand\u0027]);\r\n }\r\n }\r\n \r\n return resultArray;\r\n}\r\n\r\nfunc(array);\r\n","IsDeferred":false},{"Name":"underscore","Code":"function func(array) {\r\n const result = _.uniq(array, \u0027brand\u0027);\r\n return result;\r\n}\r\n\r\nfunc(array);\r\n","IsDeferred":false},{"Name":"reduce / some","Code":"function func(array) {\r\n const result = array.reduce((prev, cur) =\u003E {\r\n if (!prev.some(obj =\u003E obj[\u0027brand\u0027] !== cur[\u0027brand\u0027])) {\r\n prev.push(cur);\r\n }\r\n \r\n return prev;\r\n }, []);\r\n \r\n return result;\r\n}\r\n\r\nfunc(array);\r\n","IsDeferred":false}]}