如何去除对象中zone字符串属性的重复值
解决方法
可以通过以下步骤实现zone属性的动态去重:
- 将zone字符串按
,分割为数组 - 利用
Set数据结构自动过滤重复值(Set不允许存储重复元素) - 将去重后的Set转回数组,再用
,拼接成目标格式的字符串 - 把处理后的字符串赋值回原对象的zone属性
示例代码
// 原始对象 const originalObj = { "totalMinutes": "00:01", "exception": "Yes", "observation": [], "zone": "Zone 4, Zone 1, Zone 1, Zone 7, Zone 1, Zone 8, Zone 20, Zone 1, Zone 1", "startTime": "2023-01-03T06:22:17.298Z", "appVersion": "5.11.11", "month": "January", "userName": "Geeta Ammanola", "endLatlong": "0,0", "activity": "Rapid Tour", "profile": "Field Supervisor", "date": "20230103", "endTime": "2023-01-03T06:23:49.526Z", "status": "ABORTED", "rapidTourId": "bOiOmARnl7I8lGw1UAxN", "actualBOGHour": "00:01", "email": "geeta.ammanola.ext1@holcim.com", "intermediateBarcodeScanned": [], "region": "Asia", "opco": "Holcim Australia", "plant": "5010 Milton Concrete", "role": "country_admin", "bogMinutes": 20 }; // 处理zone去重 originalObj.zone = [...new Set(originalObj.zone.split(', '))].join(', '); // 输出处理后的zone结果 console.log({ zone: originalObj.zone });
运行结果
{"zone": "Zone 4, Zone 1, Zone 7, Zone 8, Zone 20"}
这种方法无需硬编码匹配特定内容,完全适配动态变化的zone数据,完美解决replace()方法无法处理动态重复值的问题。
内容的提问来源于stack exchange,提问作者Ragesh Pikalmunde
相关产品推荐
相关产品推荐

