I have a requirement to select a specific column based on selection.
[
{hallTicket:'A1', studentName :'Shiva', subject : 'maths', obtainedMarks : 95, cutoffmarks : 75, totalMarks : 100},
{hallTicket:'A1', studentName :'Shiva', subject : 'physics', obtainedMarks : 82, cutoffmarks : 75, totalMarks : 100},
{hallTicket:'A1', studentName :'Shiva', subject : 'chemistry', obtainedMarks : 87.5, cutoffmarks : 75, totalMarks : 100},
{hallTicket:'A1', studentName :'Shiva', subject : 'english', obtainedMarks : 62.5, cutoffmarks : 55, totalMarks : 75},
{hallTicket:'A1', studentName :'Shiva', subject : 'social', obtainedMarks : 63, cutoffmarks : 55, totalMarks : 75},
{hallTicket:'A1', studentName :'Shiva', subject : 'telugu', obtainedMarks : 44.5, cutoffmarks : 35, totalMarks : 50},
{hallTicket:'B2', studentName :'Sonu', subject : 'maths', obtainedMarks : 92, cutoffmarks : 75, totalMarks : 100},
{hallTicket:'B2', studentName :'Sonu', subject : 'physics', obtainedMarks : 88, cutoffmarks : 75, totalMarks : 100},
{hallTicket:'B2', studentName :'Sonu', subject : 'chemistry', obtainedMarks : 82.5, cutoffmarks : 75, totalMarks : 100},
{hallTicket:'B2', studentName :'Sonu', subject : 'english', obtainedMarks : 64.5, cutoffmarks : 55, totalMarks : 75},
{hallTicket:'B2', studentName :'Sonu', subject : 'social', obtainedMarks : 63, cutoffmarks : 55, totalMarks : 75},
{hallTicket:'B2', studentName :'Sonu', subject : 'telugu', obtainedMarks : 42, cutoffmarks : 35, totalMarks : 50},
{hallTicket:'C3', studentName :'Sahu', subject : 'maths', obtainedMarks : 90, cutoffmarks : 75, totalMarks : 100},
{hallTicket:'C3', studentName :'Sahu', subject : 'physics', obtainedMarks : 86, cutoffmarks : 75, totalMarks : 100},
{hallTicket:'C3', studentName :'Sahu', subject : 'chemistry', obtainedMarks : 88.5, cutoffmarks : 75, totalMarks : 100},
{hallTicket:'C3', studentName :'Sahu', subject : 'english', obtainedMarks : 72, cutoffmarks : 55, totalMarks : 75},
{hallTicket:'C3', studentName :'Sahu', subject : 'social', obtainedMarks : 64, cutoffmarks : 55, totalMarks : 75},
{hallTicket:'C3', studentName :'Sahu', subject : 'telugu', obtainedMarks : 45, cutoffmarks : 35, totalMarks : 50},
] ;
I want to select "studentName", "subject", "cutoffmarks", then how select from table json array?
Something like query
select studentName, subject, cutoffmarks
from Table
console.log(arr.filter(item => {
return item.hallTicket === `B2` && item.studentName === `Sanou`;
}));
Please first you need to fix your json because invalidate.
--the keys of json need double quotes, if the value is string also need double quotes for examples this is correct json.
[{"hallTicket":"A1", "studentName" :"Shiva", "subject" : "maths", "obtainedMarks" : 95, "cutoffmarks" : 75, "totalMarks" : 100} ]
I share posible solution:
let json =
'[{"hallTicket":"A1", "studentName" :"Shiva", "subject" : "maths", "obtainedMarks" : 95, "cutoffmarks" : 75, "totalMarks" : 100} ]';
let data = JSON.parse(json);
data.forEach(
(element: { studentName: any; subject: any; cutoffmarks: any }) => {
this.list.push(element.studentName);
this.list.push(element.subject);
this.list.push(element.cutoffmarks);
}
);
console.log('------------------- ' + this.list);
Code on stackblitzs here!
If you just want to get certain properties from your object, I would use Array.prototype.map and choose the properties wanted:
const table = [{
hallTicket: 'A1',
studentName: 'Shiva',
subject: 'maths',
obtainedMarks: 95,
cutoffmarks: 75,
totalMarks: 100
}, {
hallTicket: 'A1',
studentName: 'Shiva',
subject: 'physics',
obtainedMarks: 82,
cutoffmarks: 75,
totalMarks: 100
} ];
const data = table.map(x => ({
studentName: x.studentName,
subject: x.subject,
cutoffmarks: x.cutoffmarks
}));
console.log(data);