diff --git a/lib/rules/no-extra-parens.js b/lib/rules/no-extra-parens.js index 879529bf095..5b0c483e70a 100644 --- a/lib/rules/no-extra-parens.js +++ b/lib/rules/no-extra-parens.js @@ -343,11 +343,9 @@ module.exports = { report(node.arguments[0]); } } else { - [].forEach.call(node.arguments, arg => { - if (hasExcessParens(arg) && precedence(arg) >= PRECEDENCE_OF_ASSIGNMENT_EXPR) { - report(arg); - } - }); + node.arguments + .filter(arg => hasExcessParens(arg) && precedence(arg) >= PRECEDENCE_OF_ASSIGNMENT_EXPR) + .forEach(report); } } @@ -442,11 +440,9 @@ module.exports = { return { ArrayExpression(node) { - [].forEach.call(node.elements, e => { - if (e && hasExcessParens(e) && precedence(e) >= PRECEDENCE_OF_ASSIGNMENT_EXPR) { - report(e); - } - }); + node.elements + .filter(e => e && hasExcessParens(e) && precedence(e) >= PRECEDENCE_OF_ASSIGNMENT_EXPR) + .forEach(report); }, ArrowFunctionExpression(node) { @@ -589,13 +585,12 @@ module.exports = { NewExpression: checkCallNew, ObjectExpression(node) { - [].forEach.call(node.properties, e => { - const v = e.value; + node.properties + .filter(property => { + const value = property.value; - if (v && hasExcessParens(v) && precedence(v) >= PRECEDENCE_OF_ASSIGNMENT_EXPR) { - report(v); - } - }); + return value && hasExcessParens(value) && precedence(value) >= PRECEDENCE_OF_ASSIGNMENT_EXPR; + }).forEach(property => report(property.value)); }, ReturnStatement(node) { @@ -615,11 +610,9 @@ module.exports = { }, SequenceExpression(node) { - [].forEach.call(node.expressions, e => { - if (hasExcessParens(e) && precedence(e) >= precedence(node)) { - report(e); - } - }); + node.expressions + .filter(e => hasExcessParens(e) && precedence(e) >= precedence(node)) + .forEach(report); }, SwitchCase(node) {