javascript - 如何从打字稿中的数组中清除元素值?
问题描述
这里我有一个数组。
let dataList= [
{
"VersionId": 475,
"DocumentVersionFieldId": 1105,
"VariantId": 4597,
"ElementId": 1019,
"FuelTypeId": 4,
"VariantStructureWeek": "201817",
"SalesVersion": "1",
"MarketingCode": "1",
"Option": "1",
"SequenceNo": 1,
"VariantExtendedValue": [],
"cocVariantElementValues": [
{
"VersionId": 475,
"DocumentVersionFieldId": 1105,
"VariantId": 4597,
"ElementId": 1017,
"ElementVariantId": 9548,
"VariantValue": "uy",
"IsRecordVisible": false,
"cocElementLanguageDataCollection": [
{
"ElementVariantId": 9548,
"LanguageId": 0,
"LanguageCode": "EN",
"TranslationValue": "uy"
},
{
"ElementVariantId": 9548,
"LanguageId": 0,
"LanguageCode": "AL",
"TranslationValue": "jh"
},
{
"ElementVariantId": 9548,
"LanguageId": 0,
"LanguageCode": "DE",
"TranslationValue": "hj"
},
{
"ElementVariantId": 9548,
"LanguageId": 0,
"LanguageCode": "UR",
"TranslationValue": "jh"
}
]
}
],
"isRowDeleted": false,
"operationIndicators": 0,
"isMultiLanguage": true,
"IsRecordVisible": true,
"isShowUp": false,
"IsNewRow": false
}
]
我想从上面的数组中清除下面元素的值。
我想从数组中清除
VariantValue
元素cocVariantElementValues
我想从数组中清除
TranslationValue
元素cocElementLanguageDataCollection
以下是预期的。
[
{
"VersionId": 475,
"DocumentVersionFieldId": 1105,
"VariantId": 4597,
"ElementId": 1019,
"FuelTypeId": 4,
"VariantStructureWeek": "201817",
"SalesVersion": "1",
"MarketingCode": "1",
"Option": "1",
"SequenceNo": 1,
"VariantExtendedValue": [],
"cocVariantElementValues": [
{
"VersionId": 475,
"DocumentVersionFieldId": 1105,
"VariantId": 4597,
"ElementId": 1017,
"ElementVariantId": 9548,
"VariantValue": "",//here
"IsRecordVisible": false,
"cocElementLanguageDataCollection": [
{
"ElementVariantId": 9548,
"LanguageId": 0,
"LanguageCode": "EN",
"TranslationValue": "",//here
},
{
"ElementVariantId": 9548,
"LanguageId": 0,
"LanguageCode": "AL",
"TranslationValue": "",//here
},
{
"ElementVariantId": 9548,
"LanguageId": 0,
"LanguageCode": "DE",
"TranslationValue": "",//here
},
{
"ElementVariantId": 9548,
"LanguageId": 0,
"LanguageCode": "UR",
"TranslationValue": "",//here
}
]
}
],
"isRowDeleted": false,
"operationIndicators": 0,
"isMultiLanguage": true,
"IsRecordVisible": true,
"isShowUp": false,
"IsNewRow": false
}
]
有没有一种简单的方法,还是我需要遍历它并手动删除它们?
解决方案
如果不遍历所有元素,您将无法执行此操作,但是您可以使用一些快捷方式来代替 for:
array.map(function(x) {
x['VariantValue'] = '';
return x
});
或者你也可以使用它,它是 es6 胖箭头函数
array.map(x=>x['VariantValue']='');
上述代码中可能存在一些语法错误,因为它未经测试。
推荐阅读
- r - 在 R 中整理因子结构/模式矩阵的最佳方法?
- oracle-adf - 只读表显示外键而不是详细信息
- bash - 拆分字符串时如何使用“\”?
- javascript - 如何避免 HTML javascript 字符串间距带有 (+) 符号?
- ios - 在 2019 年创作 Apple 帮助手册
- java - 创建 ChromeDriver 后可以添加代理吗?
- python - 如何从 python 脚本调用 pip 并使其在本地安装到该脚本?
- linux - 开发人员云服务和 Packer 构建失败,HTTP 401 未经授权?
- excel - 使用 Applescript 从找到的单元格中复制 excel 列
- javascript - 为什么我的电子邮件验证没有返回我设置的错误消息?