I have a nested object and I want to find the splice every 0th index key "logic" & value in it. Let's say object looks like this:
Original input:
[
{
"conditions": [
{
"logic": "AND",
"parameter": "Risk Engine Score",
"condition": "Equals",
"value": "122",
"level": "first",
"type": "condition"
},
{
"level": "second",
"type": "group",
"nextChildLogic": "AND",
"conditions": [
{
"logic": "AND",
"parameter": "Risk Engine Score",
"condition": "Equals",
"value": "123",
"level": "second",
"type": "condition"
}
],
"groupLogic": "AND"
}
],
"modeOfAuth": "otp"
},
{
"conditions": [
{
"logic": "AND",
"parameter": "Risk Engine Score",
"condition": "< Less than",
"value": "12",
"level": "first",
"type": "condition"
}
],
"modeOfAuth": "frictionless"
},
{
"conditions": [
{
"logic": "AND",
"parameter": "Risk Engine Score",
"condition": "Equals",
"value": "12",
"level": "first",
"type": "condition"
},
{
"level": "second",
"type": "group",
"nextChildLogic": "AND",
"conditions": [
{
"logic": "AND",
"parameter": "Amount",
"condition": "< Less than",
"value": "12",
"level": "second",
"type": "condition"
}
],
"groupLogic": "AND"
}
],
"modeOfAuth": "frictionless"
}
]
Code:
for(var i=0;i〈conditionItem.length;i++)
{
// conditionItem[0].splice(conditionItem.indexOf(logic), 1);
// console.log("ccc=",conditionItem)
if(Array.isArray(conditionItem[i].condition))
{
var conditionItem1=[];
for(var j=0;j〈conditionItem.length;j++)
{
if(j==0)
{
conditionItem1.push({"condition":conditionItem[j].condition,"level":conditionItem[j].level,"parameter":conditionItem[j].parameter,"type":conditionItem[j].type,"value":conditionItem[j].value})
}else{
conditionItem1.push(conditionItem[j])
}
}
conditionItem[i].condition = conditionItem1;
}
}
console.log("conditionItem::=",conditionItem);
for(var i=0;i〈conditionItem.length;i++)
{
// conditionItem[0].splice(conditionItem.indexOf(logic), 1);
// console.log("ccc=",conditionItem)
if(Array.isArray(conditionItem[i].condition))
{
var conditionItem1=[];
for(var j=0;j〈conditionItem.length;j++)
{
if(j==0)
{
conditionItem1.push({"condition":conditionItem[j].condition,"level":conditionItem[j].level,"parameter":conditionItem[j].parameter,"type":conditionItem[j].type,"value":conditionItem[j].value})
}else{
conditionItem1.push(conditionItem[j])
}
}
conditionItem[i].condition = conditionItem1;
}
}
console.log("conditionItem::=",conditionItem);
expected output:
[
{
"conditions": [
{
"parameter": "Risk Engine Score",
"condition": "Equals",
"value": "122",
"level": "first",
"type": "condition"
},
{
"level": "second",
"type": "group",
"nextChildLogic": "AND",
"conditions": [
{
"parameter": "Risk Engine Score",
"condition": "Equals",
"value": "123",
"level": "second",
"type": "condition"
}
],
"groupLogic": "AND"
}
],
"modeOfAuth": "otp"
},
{
"conditions": [
{
"parameter": "Risk Engine Score",
"condition": "< Less than",
"value": "12",
"level": "first",
"type": "condition"
}
],
"modeOfAuth": "frictionless"
},
{
"conditions": [
{
"parameter": "Risk Engine Score",
"condition": "Equals",
"value": "12",
"level": "first",
"type": "condition"
},
{
"level": "second",
"type": "group",
"nextChildLogic": "AND",
"conditions": [
{
"parameter": "Amount",
"condition": "< Less than",
"value": "12",
"level": "second",
"type": "condition"
}
],
"groupLogic": "AND"
}
],
"modeOfAuth": "frictionless"
}
]