feat(Tool): 添加重命名对象属性的功能
- 新增 renameObjectKeys 函数,用于根据字段映射表重新命名对象的属性 - 函数接受过滤后的行数据数组和字段映射表作为参数 - 返回一个新的数组,其中对象的属性根据字段映射表进行了重命名 - 如果字段不在映射表中,则直接跳过,不加入新对象
This commit is contained in:
parent
caeca23cfa
commit
5d696abd78
@ -187,3 +187,24 @@ export function objectToJSON(ObjectText) {
|
|||||||
console.error("解析失败:", error);
|
console.error("解析失败:", error);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据字段映射表重新命名对象的属性
|
||||||
|
* renameObjectKeys
|
||||||
|
* @param {Array} filteredRows - 过滤后的行数据数组,每个元素是一个对象
|
||||||
|
* @param {Object} fieldMapping - 字段映射表,键是原始字段名,值是新的字段名
|
||||||
|
* @returns {Array} - 返回一个新的数组,其中对象的属性根据字段映射表进行了重命名
|
||||||
|
*/
|
||||||
|
export function renameObjectKeys(filteredRows, fieldMapping) {
|
||||||
|
return filteredRows.map(row => {
|
||||||
|
return Object.keys(row).reduce((acc, key) => {
|
||||||
|
// 如果字段在映射表中,则使用映射的字段名
|
||||||
|
if (fieldMapping[key]) {
|
||||||
|
const newKey = fieldMapping[key];
|
||||||
|
acc[newKey] = row[key];
|
||||||
|
}
|
||||||
|
// 如果字段不在映射表中,则直接跳过(不加入新对象)
|
||||||
|
return acc;
|
||||||
|
}, {});
|
||||||
|
});
|
||||||
|
}
|
9
index.js
9
index.js
@ -23,7 +23,8 @@ import {
|
|||||||
parseNginxLog,
|
parseNginxLog,
|
||||||
toCookiesArray,
|
toCookiesArray,
|
||||||
updateCookies,
|
updateCookies,
|
||||||
objectToJSON
|
objectToJSON,
|
||||||
|
renameObjectKeys
|
||||||
} from './Tool/number.js';
|
} from './Tool/number.js';
|
||||||
|
|
||||||
// ES Module 导出
|
// ES Module 导出
|
||||||
@ -38,7 +39,8 @@ export {
|
|||||||
parseNginxLog,
|
parseNginxLog,
|
||||||
toCookiesArray,
|
toCookiesArray,
|
||||||
updateCookies,
|
updateCookies,
|
||||||
objectToJSON
|
objectToJSON,
|
||||||
|
renameObjectKeys
|
||||||
};
|
};
|
||||||
|
|
||||||
// CommonJS 导出
|
// CommonJS 导出
|
||||||
@ -54,7 +56,8 @@ if (typeof module !== 'undefined' && module.exports) {
|
|||||||
parseNginxLog,
|
parseNginxLog,
|
||||||
toCookiesArray,
|
toCookiesArray,
|
||||||
updateCookies,
|
updateCookies,
|
||||||
objectToJSON
|
objectToJSON,
|
||||||
|
renameObjectKeys
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
1
types/index.d.ts
vendored
1
types/index.d.ts
vendored
@ -14,4 +14,5 @@ declare module 'ddmt-tool' {
|
|||||||
export function toCookiesArray(cookies: string): { [key: string]: string };
|
export function toCookiesArray(cookies: string): { [key: string]: string };
|
||||||
export function updateCookies(cookies: string, setCookieArray: string[]): string;
|
export function updateCookies(cookies: string, setCookieArray: string[]): string;
|
||||||
export function objectToJSON(ObjectText: string): string | undefined;
|
export function objectToJSON(ObjectText: string): string | undefined;
|
||||||
|
export function renameObjectKeys(filteredRows: Array<{ [key: string]: any }>, fieldMapping: { [key: string]: string }): Array<{ [key: string]: any }>;
|
||||||
}
|
}
|
Loading…
x
Reference in New Issue
Block a user