feat(Tool): 添加重命名对象属性的功能
- 新增 renameObjectKeys 函数,用于根据字段映射表重新命名对象的属性 - 函数接受过滤后的行数据数组和字段映射表作为参数 - 返回一个新的数组,其中对象的属性根据字段映射表进行了重命名 - 如果字段不在映射表中,则直接跳过,不加入新对象
This commit is contained in:
parent
caeca23cfa
commit
5d696abd78
@ -186,4 +186,25 @@ export function objectToJSON(ObjectText) {
|
||||
} catch (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,
|
||||
toCookiesArray,
|
||||
updateCookies,
|
||||
objectToJSON
|
||||
objectToJSON,
|
||||
renameObjectKeys
|
||||
} from './Tool/number.js';
|
||||
|
||||
// ES Module 导出
|
||||
@ -38,7 +39,8 @@ export {
|
||||
parseNginxLog,
|
||||
toCookiesArray,
|
||||
updateCookies,
|
||||
objectToJSON
|
||||
objectToJSON,
|
||||
renameObjectKeys
|
||||
};
|
||||
|
||||
// CommonJS 导出
|
||||
@ -54,7 +56,8 @@ if (typeof module !== 'undefined' && module.exports) {
|
||||
parseNginxLog,
|
||||
toCookiesArray,
|
||||
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 updateCookies(cookies: string, setCookieArray: string[]): string;
|
||||
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