@fast-china/utils
Version:
Fast 工具库.
1 lines • 2.57 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":[],"mappings":"AAGO,MAAM,YAAY;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOxB,qBAAwB,KAAU,MAAsC;AACnE,QAAA,MAAM,QAAQ,IAAI,GAAG;AAClB,YAAA,2BAAW,IAAY;AAC7B,iBAAW,OAAO,KAAK;AAChB,cAAA,MAAM,KAAK,UAAU,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AAClD,YAAI,KAAK,IAAI,GAAG,EAAU,QAAA;AAC1B,aAAK,IAAI,GAAG;AAAA,MAAA;AAEN,aAAA;AAAA,IAAA,OACD;AACA,YAAA,2BAAW,IAAS;AAC1B,iBAAW,OAAO,KAAK;AAChB,cAAA,QAAQ,IAAI,IAAI;AACtB,YAAI,KAAK,IAAI,KAAK,EAAU,QAAA;AAC5B,aAAK,IAAI,KAAK;AAAA,MAAA;AAER,aAAA;AAAA,IAAA;AAAA,EAET;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOA,qBAAwB,KAAU,MAAsC;AACnE,QAAA,IAAI,UAAU,EAAU,QAAA;AAExB,QAAA,MAAM,QAAQ,IAAI,GAAG;AACxB,YAAM,WAAW,KAAK,UAAU,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,eAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACpC,cAAM,aAAa,KAAK,UAAU,KAAK,IAAI,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;AACxD,YAAA,eAAe,SAAiB,QAAA;AAAA,MAAA;AAAA,IACrC,OACM;AACN,YAAM,aAAa,IAAI,CAAC,EAAE,IAAI;AAC9B,eAAS,IAAI,GAAG,IAAI,IAAI,QAAQ,KAAK;AACpC,YAAI,IAAI,CAAC,EAAE,IAAI,MAAM,WAAmB,QAAA;AAAA,MAAA;AAAA,IACzC;AAEM,WAAA;AAAA,EAAA;AAET;"}