各位高手大家好,是初學Java的新手,有個問題請益
有一個陣列如下 共6筆(4個欄位)
var arr =
[{Key: "TEMP01", Type: "TEMP", TypeName: "溫度", Name: "0-9度"},
{Key: "TEMP02", Type: "TEMP", TypeName: "溫度", Name: "10-19度"},
{Key: "TEMP03", Type: "TEMP", TypeName: "溫度", Name: "20-29度"},
{Key: "WET01", Type: "WET", TypeName: "濕度", Name: "20%"},
{Key: "WET02", Type: "WET", TypeName: "濕度", Name: "50%"},
{Key: "WET03", Type: "WET", TypeName: "濕度", Name: "80%"}]
希望的結果是將Type與TypeName欄位篩選出來
[Type: "TEMP",TypeName: "溫度",
Type: "WET",TypeName: "濕度"]
透過Javascript或JS語法如何篩選出想要的結果?
https://jsbin.com/nerunofeko/edit?html,js,console
Object的值相等這塊比較難處理。
然後通常在接api,欄位也不會這樣處理。
湊熱鬧,回歸基本的寫法
let arr =
[{Key: "TEMP01", Type: "TEMP", TypeName: "溫度", Name: "0-9度"},
{Key: "TEMP02", Type: "TEMP", TypeName: "溫度", Name: "10-19度"},
{Key: "TEMP03", Type: "TEMP", TypeName: "溫度", Name: "20-29度"},
{Key: "WET01", Type: "WET", TypeName: "濕度", Name: "20%"},
{Key: "WET02", Type: "WET", TypeName: "濕度", Name: "50%"},
{Key: "WET03", Type: "WET", TypeName: "濕度", Name: "80%"}];
let exists={};
let result=[];
arr.forEach((el)=>{
if(!exists[el.Type]) {
exists[el.Type]=true;
result.push({Type: el.Type, TypeName: el.TypeName});
}
});