patternjavascriptModerate
Simplify this document.referrer check
Viewed 0 times
thisreferrersimplifydocumentcheck
Problem
Can this be simplified in any way?
if ($('.content').length && (document.referrer.search('page1.html') > 0) ||
$('.content').length && (document.referrer.search('page2.html') > 0) ||
$('.content').length && (document.referrer.search('page3.html') > 0) ||
$('.content').length && (document.referrer.search('page4.html') > 0) ||
$('.content').length && (document.referrer.search('page5.html') > 0) ||
$('.content').length && (document.referrer.search('page6.html') > 0) ||
$('.content').length && (document.referrer.search('page7.html') > 0) ||
$('.content').length && (document.referrer.search('search/?') > 0)) {
window.location.href = document.referrer;
};Solution
Easily! You can use a regular expression to match
And never write conditions in such wasteful way:
when it can be easily simplified to:
page[1-7].html and also search/?:if ($('.content').length && document.referrer.match(/page[1-7]\.html|search\/\?/)) {
window.location.href = document.referrer;
};And never write conditions in such wasteful way:
if (A && B || A && C || A && D) {when it can be easily simplified to:
if (A && (B || C || D)) {Code Snippets
if ($('.content').length && document.referrer.match(/page[1-7]\.html|search\/\?/)) {
window.location.href = document.referrer;
};if (A && B || A && C || A && D) {if (A && (B || C || D)) {Context
StackExchange Code Review Q#61451, answer score: 14
Revisions (0)
No revisions yet.