我用JSON的工作就是像和在JavaScript如下排序:如何使一個JSON陣列唯一不使用Javascript
{
"data": [
{
"id": 1,
"name": "Data Point Zeta",
"unit": "456456456",
},
{
"id": 1,
"name": "Data Point Alpha",
"unit": "345345",
},
{
"id": 1,
"name": "Data Point Maverick",
"unit": "453455",
},
{
"id": 1,
"name": "Data Point Delta",
"unit": 3534545"",
},
{
"id": 1,
"name": "Data Point Delta",
"unit": 3534545"",
},
{
"id": 1,
"name": "Data Point Bravo",
"unit": "534553455",
},
{
"id": 1,
"name": "Data Point Bravo",
"unit": "534553455",
},
{
"id": 1,
"name": "Data Point Bravo",
"unit": "4356346436",
}
]
}
我希望能夠讓這個JSON通過名稱獨特價值,因此,例如,我希望能夠解析和改變JSON所以變成這樣:
{
"data": [
{
"id": 1,
"name": "Data Point Zeta",
"unit": "456456456",
},
{
"id": 1,
"name": "Data Point Alpha",
"unit": "345345",
},
{
"id": 1,
"name": "Data Point Maverick",
"unit": "453455",
},
{
"id": 1,
"name": "Data Point Delta",
"unit": 3534545"",
},
{
"id": 1,
"name": "Data Point Bravo",
"unit": "453455",
},
]
}
所以我檢索基於其名稱的對象的第一個唯一實例。我需要使用基本的Javascript,我不能使用JQuery或任何其他庫。我不想排序數組。
我已經嘗試下面的代碼從下面的問題,但沒有運氣:
How to make a JSON array unique
Get unique results from JSON array using jQuery
我用下面的代碼最接近:
var results = [];
for (var i = 0; i < myJSONArr.length; i++) {
if (myJSONArr[i + 1].name != myJSONArr[i].name) {
results.push(myJSONArr[i]);
}
}
但是這總是給我一個未定義的錯誤,如果我在代碼中檢查未定義的錯誤,它會從列表中留下一個錯誤。因此,例如它得到以下名稱:
Data Point Zeta
Data Point Alpha
Data Point Maverick
Data Point Delta
所以數據點布拉沃永遠不會被推到陣列。
任何人都可以指出我正確的方向來實現這一目標嗎?