我正在检查选择器是否具有某个类,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
);
}
任何帮助都会非常有用!