/** * json数组去重 * * @category Utils * @param {Array} jsonArr 去重之前的数组 * @param {String} field 需要去重的字段值 * @return {Array} 去重之后的数组 */ export const uniqueJsonArrByField = ( jsonArr: Array, field: keyof T, ): Array => { // 数组长度小于2 或 没有指定去重字段 或 不是json格式数据 if (jsonArr.length < 2 || !field || typeof jsonArr[0] !== 'object') return jsonArr; const uniqueArr = jsonArr.reduce( (all: Array, next) => all.some(item => item[field] == next[field]) ? all : [...all, next], [] as Array, ); return uniqueArr; };