动态返回变量内的条件

时间:2017-09-05 18:04:11

标签: javascript jquery

根据给定条件操纵下面的表达式的最佳方法是什么? E.g。

rtnData = (
  $(this).find('span').text().match(regEx[1]) &&
  $(this).find('span').text().match(regEx[2]) &&
  $(this).find('span').text().match(regEx[3]) 
);

在每种情况下,可能会或可能不会使用正则表达式2或3。

2 个答案:

答案 0 :(得分:2)

应该是这样的。即使您在regEx数组中没有特定项目,这也不会产生影响

var rtnData = true;
var component = $(this);
regEx.forEach(function(currentRegEx) {
  rtnData = rtnData && component.find('span').text().match(currentRegEx)
});

答案 1 :(得分:1)

var text = $(this).find('span').text()
rtnData = (
  text.match(regEx[1]) &&
  (!regEx[2] || text.match(regEx[2])) &&
  (!regEx[3] || text.match(regEx[3])) 
);