我试图检查'selected'是否出现在'sizerange'中。但是目前它的评估结果是正确的,因为XS在'sizerange'中。我对L和XL有同样的问题。
我认为我需要使用正则表达式\ b \ b作为单词的开头或结尾,但无法使其与变量一起使用
var sizerange = 'XS M L XL';
var selected = 'S'
if(sizerange.indexOf(selected) == -1){
$( this ).addClass('sold-out');
} else {
$( this ).addClass('in-stock');
};
任何帮助表示赞赏。
答案 0 :(得分:0)
var sizerange = 'XS M L XL';
var arraySizes = sizerange.split(' ');
var selected = 'S'
if(!arraySizes.includes(selected)){
$( this ).addClass('sold-out');
} else {
$( this ).addClass('in-stock');
};
答案 1 :(得分:0)
最简单的方法是将其拆分为一个数组并使用include。 (将其存储为数组而不是字符串会更有意义)
var sizerange = 'XS M L XL';
var selected = 'S'
if (sizerange.split(/\s/).includes(selected)) {
console.log('in stock')
} else {
console.log('sold out')
}
其他选项是使用boundaries
的reg exp
var sizerange = 'XS M L XL';
var selected = 'S'
var regexp = new RegExp("\\b" + selected + "\\b");
if (regexp.test(sizerange)) {
console.log('in stock')
} else {
console.log('sold out')
}