gpt4 book ai didi

javascript - 删除 foreach 循环中的匹配项

转载 作者:行者123 更新时间:2023-11-28 17:16:33 25 4
gpt4 key购买 nike

我想做的是,将html选择选项转换为mysql查询的一部分,首先将所有选项文本获取到一个数组,然后转换成一个字符串,但想要以防止在 foreach 循环中在此字符串中包含某些选项。

到目前为止我尝试过的,但它包括我使用的所有选项

if (v != 'blah 0' || v != 'blah 99' || v != 'blah 100') {

但不工作。我不想将这些值放入字符串中。

var array = [];
var str = "";
$('select option').each(function() {
var text = $(this).text();
array.push(text);
});
$.each(array, function(i, v) {
if (v != 'blah 0' || v != 'blah 99' || v != 'blah 100') {
str += '("' + v + '" ,18),';
}
});

console.log(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option>blah 1</option>
<option>blah 0</option>
<option>blah 2</option>
<option>blah 3</option>
<option>blah 4</option>
<option>blah 0</option>
<option>blah 5</option>
<option>blah 99</option>
<option>blah 100</option>
</select>

最佳答案

您应该在条件中使用 and && 而不是 or ||

var array = [];
var str = "";
$('select option').each(function() {
var text = $(this).text();
array.push(text);
});
$.each(array, function(i, v) {
if (v != 'blah 0' && v != 'blah 99' && v != 'blah 100') {
str += '("' + v + '" ,18),';
}
});
console.log(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option>blah 1</option>
<option>blah 0</option>
<option>blah 2</option>
<option>blah 3</option>
<option>blah 4</option>
<option>blah 0</option>
<option>blah 5</option>
<option>blah 99</option>
<option>blah 100</option>
</select>

您也可以使用 .filter().map() 代替

var str = $('select option').filter(function() {
return ['blah 0', 'blah 99', 'blah 100'].indexOf($(this).text()) == -1;
}).map(function(){
return '("'+$(this).text()+'" ,18)';
}).toArray().join(',');

console.log(str);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<select>
<option>blah 1</option>
<option>blah 0</option>
<option>blah 2</option>
<option>blah 3</option>
<option>blah 4</option>
<option>blah 0</option>
<option>blah 5</option>
<option>blah 99</option>
<option>blah 100</option>
</select>

关于javascript - 删除 foreach 循环中的匹配项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53363731/

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