I am facing a requirement where I need to extract the value of the JSON data based on the column specified by the user.
for (var k = 0; k < arr.length; k++) {
for (var i = 0; i < checkedFilters.length; i++) {
console.log("value[columnName]", arr[k][columnName]);
if ((arr[k][columnName] == checkedFilters[i])) {
temporaryFilterData.push(arr[k]);
}
}
}
The user will pass the columnName
in a function, however, whenever I try to access arr[k][columnName]
, it only gives me the very first value of the array. What could be causing this issue?
JSON
[
{
id: 1,
type: 1,
typeName: "Lead",
client: 1,
clientName: "Ljungbloms Elektriska AB",
marking: "Marking for Ljungbloms Elektriska AB",
status: 2,
statusName: "Open",
stage: 2,
stageName: "Stage 2",
leadValue: 1,
probability: 1,
issuer: 1,
issuerName: "Sales",
handler: 1,
handlerName: "Sales",
created: 1462345200000,
createdString: "2016-05-04"
},
{
id: 5,
type: 1,
typeName: "Lead",
client: 1,
clientName: "Ljungbloms Elektriska AB",
marking: "Marking for Ljungbloms Elektriska AB",
status: 2,
statusName: "Open",
stage: 2,
stageName: "Stage 2",
leadValue: 1,
probability: 1,
issuer: 1,
issuerName: "Sales",
handler: 1,
handlerName: "Sales",
created: 1462345200000,
createdString: "2016-05-04"
},
{
id: 2,
type: 1,
typeName: "Lead",
client: 2,
clientName: "Solina Sweden AB",
marking: "Marking for Solina Sweden AB",
status: 1,
statusName: "Closed",
stage: 3,
stageName: "Stage 3",
leadValue: 1,
probability: 1,
issuer: 1,
issuerName: "Sales",
handler: 1,
handlerName: "Sales",
created: 1462345200000,
createdString: "2016-05-04"
},
{
id: 3,
type: 2,
typeName: "Opportunity",
client: 3,
clientName: "H & M Hennes & Mauritz GBC AB",
marking: "Marking for H & M Hennes & Mauritz GBC AB",
status: 3,
statusName: "Pending",
stage: 4,
stageName: "Stage 4",
leadValue: 1,
probability: 1,
issuer: 1,
issuerName: "Sales",
handler: 1,
handlerName: "Sales",
created: 1462345200000,
createdString: "2016-05-04"
}
];
checkedFileter Array
["Open", "Unset","Closed"]
result JSON
[{
id: 1,
type: 1,
typeName: "Lead",
client: 1,
clientName: "Ljungbloms Elektriska AB",
marking: "Marking for Ljungbloms Elektriska AB",
status: 2,
statusName: "Open",
stage: 2,
stageName: "Stage 2",
leadValue: 1,
probability: 1,
issuer: 1,
issuerName: "Sales",
handler: 1,
handlerName: "Sales",
created: 1462345200000,
createdString: "2016-05-04"
},
{
id: 5,
type: 1,
typeName: "Lead",
client: 1,
clientName: "Ljungbloms Elektriska AB",
marking: "Marking for Ljungbloms Elektriska AB",
status: 2,
statusName: "Open",
stage: 2,
stageName: "Stage 2",
leadValue: 1,
probability: 1,
issuer: 1,
issuerName: "Sales",
handler: 1,
handlerName: "Sales",
created: 1462345200000,
createdString: "2016-05-04"
},
{
id: 2,
type: 1,
typeName: "Lead",
client: 2,
clientName: "Solina Sweden AB",
marking: "Marking for Solina Sweden AB",
status: 1,
statusName: "Closed",
stage: 3,
stageName: "Stage 3",
leadValue: 1,
probability: 1,
issuer: 1,
issuerName: "Sales",
handler: 1,
handlerName: "Sales",
created: 1462345200000,
createdString: "2016-05-04"
}]
ColumnName is a variable that serves as a placeholder for the column name. For example, statusName
.
Therefore, the condition will now specifically check for the statusName
in the JSON elements.