我要篩選具有許多照片這樣的信息的陣列,但過濾器應該是可變的(自變量和自變量的數據類型):可變過濾器標準
var photos = [
{
lat: -15,
lng: -20,
alt: 381,
date: "2016-12-12",
comment: "Text1" // and many more arguments like file size, bitdepth, iso, ...
},
{
lat: -17,
lng: -22,
alt: 1381,
date: "2016-11-11",
comment: "Text2" // and many more arguments like file size, bitdepth, iso, ...
},
{
lat: -25,
lng: -30,
alt: 1000,
date: "2016-10-10",
comment: "Text3" // and many more arguments like file size, bitdepth, iso, ...
},
];
現在我D類似於使用該方法
array.filter(callbackfn[, thisArg])
但過濾標準和數據類型的數據尋找變化的陣列來篩選(例如搜索與元件「(LAT < -15)」或「(LNG> -25 )& &(alt> 1000)'或'comment ==「T ext2「,但我不知道如何做到這一點。顯然,這
function filterMetaData(obj, filterString) {
if(filterString) {
return true;
} else {
return false;
}
}
var result = photos.filter(filterMetaData, "lat < -18");
不起作用,因爲「LAT < -18」是一個字符串,而不是解釋像一個標準,所以如果(filterString)總是真。
這怎麼辦? Thx,Markus!
THX,這就是我一直在尋找 – Markus
設法使功能人性化:如何修改,只需要過濾條件即G。 '(lat <-15)|| (lng> -25 &&(alt> 1000)'而不是'(o.lat <-15)||(o.lng> -25 &&(o.alt> 1000)'@ – Markus
@Markus,也許是第二種方法爲你工作與ES6。 –