2013-09-19 2 views
1

Я имею несколько условий в случае, как пыльникКак уменьшить мультипликатор, если условия в JavaScript

if((readCookie("endData") != "" && 
    readCookie("lastRowArray") != "" && 
    readCookie("histClickedImgId") != "" && 
    readCookie("histClickedPage") != "" && 
    readCookie("remove_count") != "" && 
    readCookie("histBack") != "") && 
    (readCookie("endData") && 
    readCookie("lastRowArray") && 
    readCookie("histClickedImgId") && 
    readCookie("histClickedPage") && 
    readCookie("remove_count") && 
    readCookie("histBack"))){ 
    cdtChecked = true; 
} 

Есть ли способ уменьшить код.

+8

Этот вопрос не соответствует теме, потому что ему нужен код. принадлежит на codereview.stackexchange.com –

+1

ну вы ** должны ** проверить эти условия .. –

+0

_ «Есть ли способ уменьшить код». _ - Ну есть два набора резервных скобок, которые вы могли бы удалить. Есть ли причина, по которой первые шесть условий проверяют непустую строку, но последние шесть условий просто проверяют какое-либо правное значение? – nnnnnn

ответ

2

Вы можете написать новую функцию:

function allCookiesSet() { 
    for (var i = 0; i < arguments.length; i++) { 
    var arg = arguments[i];  
    if (!readCookie(arg)) return false; 
    } 
    return true; 
} 

EDIT: Чтобы удалить путаницы, нет необходимости проверять, если куки установлен, и/или если он пустой .. Пустые строки вычисляться в false в javascript.

if (allCookiesSet(cookies)) { ... } 
+2

Но код OP не выполняет один и тот же тест '! =" "' В каждой строке. Я действительно не знаю, какова цель, но сначала шесть файлов cookie проверяются на неравенство с пустой строкой, а затем те же самые шесть файлов cookie проверяются на любое правдивое значение. – nnnnnn

+0

@nnnnnn Я обновил свой код в соответствии с вашими знаниями –

+0

Не достаточно ли метода 'allCookiesSet'? Я просто спрашиваю .. потому что '! ''' _ Равно равным '' true'. –

Смежные вопросы