我已经看过这里的其他答案,比较两个字符串数组,我也有一些尝试,我自己看着与If语句和.equals()进行比较但是我在比较两个包含的字符串时遇到了问题坐标。
正在从数据库中检索一个字符串,另一个字符串来自一组谷歌地图标记。我把它们存储在2个数组中。
为什么不打印到控制台,两个数组中肯定有匹配的条目。如果我在控制台中使用搜索功能,它会找到2个匹配的条目,但在if语句中使用.equals不会将其打印到控制台。
坐标打印出来如下:(50.371524,-4.13474599999995)
var existingMarkers= [];
var databaseMarkers= [];
queryLngLat.notEqualTo("longAndLat", null);
queryLngLat.find({
success: function(results) {
alert("Successfully retrieved " + results.length + " scores.");
for (var j = 0; j < results.length; j++ ) {
databaseMarkers = (results[j].attributes.longAndLat);
//console.log(databaseMarkers + " DB ");
//console.log(results[j].attributes.longAndLat);
//results[j].attributes.Val - gets val of specific marker
for (d = 0; d < markers.length; d++ ) {
//console.log("(" + markers[d].getPosition().d + ", " + markers[d].getPosition().e +")");
existingMarkers = ("(" + markers[d].getPosition().d + ", " + markers[d].getPosition().e +")");
//console.log(existingMarkers);
if (existingMarkers.equals(databaseMarkers)){ console.log("Markersssss");}
}
}
}