仅当项目没有't存在于数组中
Append only if item doesn't exists in array
我有3个选择框,一个代表国家,另一个代表城市,另一种代表城市周围的半径。
在发送和保存数据库中的所有数据之前,我希望用户选择的任何内容都显示在div中。
我正在努力让它发挥作用,但我不知道为什么我会有奇怪的结果。它没有任何作用!,但如果我去掉"!",它对第一个有点作用,但后来我又得到了重复。我不明白我做错了什么。这是代码:
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());
}
}
任何光棚都将被磨碎
您应该检查=== -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。如果数组中的第一个元素与值匹配,$.inArray()将返回0。
尝试:
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());
}
}
希望这能有所帮助。。
相关文章:
- 在对象上迭代以验证它是否's键存在于数组中
- 如何创建独立于数组更新的组件列表
- 仅当项目没有't存在于数组中
- 检查值存在于数组位置
- 为什么JS需要对象/数组存在
- 如何检查值是否存在于数组的对象中
- Javascript强制数组的行为类似于数组
- 如何将子字符串应用于数组中的每个字母
- 检查元素是否存在于数组中,而不遍历它
- Mootools每个函数只适用于数组中的最后一个基金
- 如何将类应用于数组中段落标记中的所有单词
- 检查键存在于数组中
- 检查变量是否存在于数组的数组中
- 使用javascript Push到数组,只要项目不存在于数组中
- 如果value存在于数组2中,则从数组1中删除Item
- 检查一个元素是否存在于数组中
- Angular.js / Javascript:检查一个对象是否存在于数组的任何元素中
- 在推入之前检查对象是否存在于数组中
- 如何检查具有id属性的对象是否存在于数组中
- 如果数组存在于本地存储中,则返回false