有没有办法检查所有变量是否为空?

时间:2016-09-14 01:37:22

标签: jquery arrays if-statement

我有一堆变量,我想检查所有变量是否都是空字符串而不是继续<?xml version="1.0" encoding="UTF-8"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <soapenv:Header> <MessageHeader xmlns="http://www.ebxml.org/namespaces/messageHeader"> <From> <PartyId type="urn:x12.org:IO5:01">*or</PartyId> </From> <To> <PartyId type="urn:x12.org:IO5:01">Sabre</PartyId> </To> <CPAId>X2TH</CPAId> <ConversationId>1473816876</ConversationId> <Service type="sabreXML">SessionCreateRQ</Service> <Action>SessionCreateRQ</Action> <MessageData> <MessageId>1473816876</MessageId> <Timestamp>2016-09-14T01:34:36</Timestamp> <TimeToLive>2016-09-14T02:34:36</TimeToLive> </MessageData> </MessageHeader> <wsse:Security xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/12/utility"> <wsse:UsernameToken> <wsse:Username>*user</wsse:Username> <wsse:Password>*pass</wsse:Password> <Organization>*ipcc</Organization> <Domain>DEFAULT</Domain> </wsse:UsernameToken> </wsse:Security> </soapenv:Header> <soapenv:Body> <SessionCreateRQ xmlns="http://www.opentravel.org/OTA/2002/11"> <POS> <Source PseudoCityCode="*ipcc" /> </POS> </SessionCreateRQ> </soapenv:Body> </soapenv:Envelope> 是否有更好的方法?

例如我有:

variable == "" || variable == ""

有没有办法缩短if语句?

2 个答案:

答案 0 :(得分:2)

我会做如下的事情:

var a = $('.a').val().trim();
var b = $('.b').val().trim();
var c = $('.c').val().trim();

if(!a && !b && !c){
  //blah blah
}

答案 1 :(得分:1)

首先,使用或(||)将检查是否为空,而不是全部。

无论如何,如果你只有3个变量,并不是很短,但你可以将它们放在一个数组中并使用every

var allEmpty = [a, b, c].every(function(val) {
    return val == '';
});

if(allEmpty) ...