@fast-china/utils
Version:
Fast 工具库.
1 lines • 2.59 kB
Source Map (JSON)
{"version":3,"file":"index.mjs","sources":["../../../../src/array/index.ts"],"sourcesContent":["/**\n * 数据工具类\n */\nexport const arrayUtil = {\n\t/**\n\t * 是否存在重复值\n\t * @param arr 数组\n\t * @param prop 属性\n\t * @returns\n\t */\n\thasDuplicateProperty<T>(arr: T[], prop: keyof T | (keyof T)[]): boolean {\n\t\tif (Array.isArray(prop)) {\n\t\t\tconst seen = new Set<string>();\n\t\t\tfor (const obj of arr) {\n\t\t\t\tconst key = JSON.stringify(prop.map((p) => obj[p]));\n\t\t\t\tif (seen.has(key)) return true;\n\t\t\t\tseen.add(key);\n\t\t\t}\n\t\t\treturn false;\n\t\t} else {\n\t\t\tconst seen = new Set<any>();\n\t\t\tfor (const obj of arr) {\n\t\t\t\tconst value = obj[prop];\n\t\t\t\tif (seen.has(value)) return true;\n\t\t\t\tseen.add(value);\n\t\t\t}\n\t\t\treturn false;\n\t\t}\n\t},\n\t/**\n\t * 是否存在非重复值\n\t * @param arr 数组\n\t * @param prop 属性\n\t * @returns\n\t */\n\thasDifferentProperty<T>(arr: T[], prop: keyof T | (keyof T)[]): boolean {\n\t\tif (arr.length <= 1) return false;\n\n\t\tif (Array.isArray(prop)) {\n\t\t\tconst firstKey = JSON.stringify(prop.map((p) => arr[0][p]));\n\t\t\tfor (let i = 1; i < arr.length; i++) {\n\t\t\t\tconst currentKey = JSON.stringify(prop.map((p) => arr[i][p]));\n\t\t\t\tif (currentKey !== firstKey) return true;\n\t\t\t}\n\t\t} else {\n\t\t\tconst firstValue = arr[0][prop];\n\t\t\tfor (let i = 1; i < arr.length; i++) {\n\t\t\t\tif (arr[i][prop] !== firstValue) return true;\n\t\t\t}\n\t\t}\n\t\treturn false;\n\t},\n};\n"],"names":["arrayUtil","hasDuplicateProperty","arr","prop","Array","isArray","seen","Set","obj","key","JSON","stringify","map","p","has","add","value","hasDifferentProperty","length","firstKey","i","firstValue"],"mappings":"AAGO,MAAMA,EAAY,CAOxB,oBAAAC,CAAwBC,EAAUC,GACjC,GAAIC,MAAMC,QAAQF,GAAO,CACxB,MAAMG,qBAAWC,IACjB,IAAA,MAAWC,KAAON,EAAK,CACtB,MAAMO,EAAMC,KAAKC,UAAUR,EAAKS,IAAKC,GAAML,EAAIK,KAC/C,GAAIP,EAAKQ,IAAIL,GAAM,OAAO,EAC1BH,EAAKS,IAAIN,EACV,CACA,OAAO,CACR,CAAO,CACN,MAAMH,qBAAWC,IACjB,IAAA,MAAWC,KAAON,EAAK,CACtB,MAAMc,EAAQR,EAAIL,GAClB,GAAIG,EAAKQ,IAAIE,GAAQ,OAAO,EAC5BV,EAAKS,IAAIC,EACV,CACA,OAAO,CACR,CACD,EAOA,oBAAAC,CAAwBf,EAAUC,GACjC,GAAID,EAAIgB,QAAU,EAAG,OAAO,EAE5B,GAAId,MAAMC,QAAQF,GAAO,CACxB,MAAMgB,EAAWT,KAAKC,UAAUR,EAAKS,IAAKC,GAAMX,EAAI,GAAGW,KACvD,IAAA,IAASO,EAAI,EAAGA,EAAIlB,EAAIgB,OAAQE,IAAK,CAEpC,GADmBV,KAAKC,UAAUR,EAAKS,IAAKC,GAAMX,EAAIkB,GAAGP,OACtCM,EAAU,OAAO,CACrC,CACD,KAAO,CACN,MAAME,EAAanB,EAAI,GAAGC,GAC1B,IAAA,IAASiB,EAAI,EAAGA,EAAIlB,EAAIgB,OAAQE,IAC/B,GAAIlB,EAAIkB,GAAGjB,KAAUkB,EAAY,OAAO,CAE1C,CACA,OAAO,CACR"}