![](/img/trans.png)
[英]How to append to array only if it doesn't contain value with rethinkDB
[英]Append only if item doesn't exists in array
我有3個選擇框,一個用於國家,另一個用於城市,另一個用於圍繞城市的半徑。
我希望用戶選擇的任何內容都出現在div中,然后再將所有數據發送並保存到db中。
我正在嘗試使此工作正常進行,但是我不知道為什么會有奇怪的結果。 它什么也不做!但是,如果我刪除了“!”,它就可以用於第一個,但是隨后我又得到了重復。 我不明白我在做什么錯。 這是代碼:
var citySet = new Array;
function appendCity(){
if(!$.inArray($("#businessCityTarget option:selected").text(),citySet)){
$("#cityContainer").append($("#businessCityTarget option:selected").text() + "<br>");
citySet.push($("#businessCityTarget option:selected").text());
}
}
任何散落的光都會滿足
嘗試:
if(citySet.indexOf($("#businessCityTarget option:selected").text()) < 0){
$("#cityContainer").append($("#businessCityTarget option:selected").text() + "<br>");
citySet.push($("#businessCityTarget option:selected").text());
}
你可以嘗試一下:
var citySet = new Array;
function appendCity(){
if($.inArray($("#businessCityTarget option:selected").text(),citySet)===-1){
$("#cityContainer").append($("#businessCityTarget option:selected").text() + "<br>");
citySet.push($("#businessCityTarget option:selected").text());
}
}
希望這可以幫助..
您應該檢查=== -1
或< 0
var citySet = new Array;
function appendCity() {
if ($.inArray($("#businessCityTarget option:selected").text(), citySet) === -1) {
$("#cityContainer").append($("#businessCityTarget option:selected").text() + "<br>");
citySet.push($("#businessCityTarget option:selected").text());
}
}
來自文檔
$ .inArray()方法類似於JavaScript的本機.indexOf()方法,因為它找不到匹配項時返回-1。 如果數組中的第一個元素與value匹配,則$ .inArray()返回0。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.