Here I have an array.
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 } ]
I want to clear value of the below elements from the above array.
I want to clear VariantValue
element from cocVariantElementValues
array
I want to clear TranslationValue
element from cocElementLanguageDataCollection
array
This below is the expected one.
[ { "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 } ]
Is there a straightforward way, or do I need to loop through it and remove them manually?
You can't do this without looping over the all elements, however there are some shortcuts you can use instead of for:
array.map(function(x) {
x['VariantValue'] = '';
return x
});
Alternatively you can use this too, it is es6 fat arrow function
array.map(x=>x['VariantValue']='');
There might be some syntax errors in the above code as it is not tested.
thanks @ppl
I got it by using multiple .map()
for my scenario.
dataList.map(function(x) {
x.cocVariantElementValues.map(function(y) {
y['VariantValue'] = '';
y.cocElementLanguageDataCollection.map(function(z) {
z['TranslationValue'] = '';
return z
});
return y;
});
return x;
});
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 } ] let result = dataList.map(function(x) { x.cocVariantElementValues.map(function(y) { y['VariantValue'] = ''; y.cocElementLanguageDataCollection.map(function(z) { z['TranslationValue'] = ''; return z }); return y; }); return x; }); console.log(result)
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.