2 回答

TA貢獻1852條經(jīng)驗 獲得超1個贊
您可以從timeline對象數(shù)組創(chuàng)建城鎮(zhèn)名稱數(shù)組,以便可以比較在時間軸中是否找到特定的城鎮(zhèn)。
這可以通過以下方式完成:
使用Array.prototype.map()通過你的迭代timeline對象的數(shù)組,并返回所有的列表townshipname
通過使用以下命令檢查陣列中是否存在給定的鄉(xiāng)鎮(zhèn) Array.prototype.indexOf()
示例代碼如下:
// Generate an array of townships extract from timeline
var townships = timeline.map(function(item) {
return item.townshipname;
});
// Attempt to search a given township in your generated array
var townshipIndex = townships.indexOf(event.feature.getProperty('township'));
if (townshipIndex !== -1) {
var timepush = timeline[townshipIndex].timelinename;
} else {
var timepush = 'No Timeline Entered';
}
另外,您可以使用for...of循環(huán)并在找到匹配項后中斷循環(huán)。我們假設(shè)沒有輸入任何時間軸作為“基本狀態(tài)”,然后我們可以在找到匹配項后進行更新:
var timepush = 'No Timeline Entered';
for (var item of timeline) {
if (item.townshipname === event.feature.getProperty('township')) {
timepush = item.timelinename;
break;
}
}
如果您確實需要IE支持,那么我們可以使用經(jīng)典for循環(huán):
var timepush = 'No Timeline Entered';
for (var i = 0; i < timeline.length; i++) {
if (timeline[i].townshipname === event.feature.getProperty('township')) {
timepush = timeline[i].timelinename;
break;
}
}

TA貢獻1818條經(jīng)驗 獲得超7個贊
因此,有兩種不同的方法可以實現(xiàn)此目的,如果您有一個索引對象數(shù)組,最快的方法是:
for(var i = 0; i < timeline.length; i++){
if(event.feature.getProperty('township') == timeline[i].townshipname){
var timepush = timeline[i].timelinename;
}
}
我可以很快提出另一個例子。
添加回答
舉報