function replaceEn(obj) { if (typeof obj === 'object' && obj !== null) { if (Array.isArray(obj)) { obj.forEach((item, index) => { obj[index] = replaceEn(item); }); } else { Object.keys(obj).forEach(key => { const value = replaceEn(obj[key]); if (key.endsWith('En') && value !== undefined && value !== null && value !== '') { const newKey = key.slice(0, -2); obj[newKey] = value; delete obj[key]; } else { obj[key] = value; }
}); } } return obj; }

// Angular http interceptors @Injectable() export class ReplaceEnInterceptor implements HttpInterceptor { intercept(req: HttpRequest, next: HttpHandler): Observable<HttpEvent> { return next.handle(req).pipe( map(event => { if (event instanceof HttpResponse) { const body = replaceEn(event.body); return event.clone({ body }); } return event; }) ); } }

JavaScript 对象属性值替换 - 递归遍历并处理带 En 后缀的属性

原文地址: https://www.cveoy.top/t/topic/nWal 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录