如何使用spreader和gather运算符在Es6中实现以下跟踪?

时间:2017-11-24 23:05:07

标签: javascript function ecmascript-6 ecmascript-5

我正在检查选择器是否具有某个类,id或两者。如果id,class或两者都匹配,eitherClassIdOrBoth()会将选择器推送到elements数组中。它工作得很好,但我想知道我是否可以使用spread operator在ES6中实现这一点。

这是返回布尔值的地方:

var idAndClassMatch = function(matchId, matchClass, matchBoth) {
return (
(matchBoth && matchId && matchClass) || (!matchBoth && (matchId || matchClass))); }

这是我想使用扩展运算符的函数:

var elements = []

function eitherClassIdOrBoth(
   selectId, selectClass, array, matchBoth, elements
) 
{

   for (let i = 0; i < array.length; i++) {
      var classSection = array[i].className.split(" ");
      var matchId = selectId !== undefined && array[i].id === selectId;
      var matchClass = classSection !== undefined && 
          classSection.indexOf(selectClass) !== -1;

      if (idAndClassMatch(matchId, matchClass, matchBoth)) {
          elements.push(array[i]); 
      }
   }
}

我从if语句传递这些值:

if (arr.length === 2) {
    computedFunction.eitherClassIdOrBoth(
        selectId, selectClass, tags, false, Allelements
    );
}

任何帮助都会非常有用!

0 个答案:

没有答案