gpt4 book ai didi

javascript - 如何将对象数组中的变量与另一个变量进行比较?

转载 作者:行者123 更新时间:2023-12-02 23:52:21 25 4
gpt4 key购买 nike

我正在尝试将 event.feature.getProperty('township') 与 if 中时间线数组中的时间轴.townshipname 进行比较。现在用 [0] 检查一个很好,但我有一整列想要检查。最好的方法是什么?

    //Load Timelines
var timeline = [];
jQuery.getJSON(timelines, function(data) {
var entry = data.feed.entry;
jQuery(entry).each(function(){
var townshipname = this.gsx$township.$t;
var timelinename = this.gsx$timeline.$t;
var combined = {townshipname, timelinename};
timeline.push(combined);
});
});
// Output from timeline looks like
// 0: {townshipname: "West Quincy", timelinename: "Ready for drops"}
// 1: {townshipname: "Woodgate", timelinename: "Ready"}

//Add infowindow to identify townships
township_layer.addListener('click', function(event) {
if (event.feature.getProperty('township') == timeline[0].townshipname){
var timepush = timeline[0].timelinename
} else {
var timepush = 'No Timeline Entered'
}

最佳答案

您可以从 timeline 对象数组创建一个城镇名称数组,以便您可以比较是否在时间轴中找到了特定的城镇。

这可以通过以下方式完成:

  1. 使用Array.prototype.map()迭代您的 timeline 对象数组并返回所有 townshipname
  2. 的列表
  3. 使用 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 loop并在找到匹配项后立即退出。我们假设没有输入时间线作为“基态”,然后我们可以在找到匹配项后更新:

var timepush = 'No Timeline Entered';
for (var item of timeline) {
if (item.townshipname === event.feature.getProperty('township')) {
timepush = item.timelinename;
break;
}
}

如果你确实需要 IE 支持,那么我们可以使用经典的 for 循环:

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;
}
}

关于javascript - 如何将对象数组中的变量与另一个变量进行比较?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55581902/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com