我有一個JSON文件轉換爲JavaScript對象以及一個年份參數,我想只返回與它的名稱和內容相關的數組作爲JSON。如何切片JavaScript對象?
文件看起來是這樣的:
{
"2012":[
{
"id": 1,
"firstName": "John",
"lastName": "Doe",
"GPA": 80
}
],
"2013":[
{
"id": 1,
"firstName": "John",
"lastName": "Doe",
"GPA": 85
},
{
"id": 2,
"firstName": "Anna",
"lastName": "Smith",
"GPA": 92
}
]
}
我使用下面的函數找到數組,並與GPA < 90刪除所有recoreds:
getExcellenceByYear: function(year) { //get all students with GPA>=90 by year
fake=JSON.parse(JSON.stringify(file));
keys = Object.keys(fake);
if(fake.hasOwnProperty(year))
{
for(var j=fake[year].length-1; j>=0; j--) // delete all irrelevant records
{
if(fake[year][j].GPA<90)
{
delete fake[year][j];
fake[year]=fake[year].filter(function(x) {return x!==null});
}
}
}
else
return JSON.stringify({});
return JSON.stringify(fake[year]);
}
,但我只回陣列中的記錄,當我需要它的名字時,例如:
{
2013: [
{
id: 2,
firstName: "Anna",
lastName: "Smith",
GPA: 92
}
]
}
謝謝
查找的JavaScript地圖功能。我認爲用你想要的而不是刪除的東西建立一個新的對象可能會更好。我看到了關於地圖功能的教程,這就是他們所做的。我不記得它足夠的細節,所以我不能舉一個例子。 – markbernard
你如何確定相關性 –