如何使用getLabel()正确编写以下if语句

时间:2016-12-23 07:50:47

标签: google-apps-script

我收到以下错误,想知道如何正确重写此代码。

  

ReferenceError:函数函数getLabel(){/ * * /}不能用作赋值的左侧或作为++或 - 运算符的操作数。 (第61行,文件" DLContactsToSheet")

    var Phones = "";    
for ( var g=0;g<contacts[i].getPhones().length;g++)
{
  if (contacts[i].getPhones()[g].getLabel() = "MOBILE_PHONE") {
    Phones += "C: "
  } else if (contacts[i].getPhones()[g].getLabel() = "WORK_PHONE") {
    Phones += "W: "
  } else if (contacts[i].getPhones()[g].getLabel() = "HOME_PHONE") {
    Phones += "H: "
  } else {
    Phones += "O: "
  }
  Phones += contacts[i].getPhones()[g].getPhoneNumber();
  Phones += "\n";
}
try{ContactArray.push(Phones);}
  catch(e){ContactArray.push("N/A")}

3 个答案:

答案 0 :(得分:2)

在您的条件中,参考错误似乎是由'='而不是'=='引起的。

将条件重写为if (phone.getLabel() == 'MOBILE_PHONE') { /* ... */ }等应该可以解决问题。

答案 1 :(得分:1)

你需要对它们进行硬编码才能获取它们。

代码

function fieldType() {
  var contacts = ContactsApp.getContacts(), phones = [];
  for(var i = 0, iLen = contacts.length; i < iLen; i++) {
    var con = contacts[i], f = ContactsApp.Field;
    var c = con.getPhones(f.MOBILE_PHONE), w = con.getPhones(f.HOME_PHONE), h = con.getPhones(f.WORK_PHONE);
    phones = getNumber(phones, c, "C: ");
    phones = getNumber(phones, w, "W: ");
    phones = getNumber(phones, h, "H: ");
  }
}

function getNumber(phones, type, prefix) {
  var typeNumbers = [];
  var pNumber = type.length > 0 ? type.map( function (d) { return prefix + d.getPhoneNumber() + "\n"; }) : null; 
  if(pNumber) {
    typeNumbers.push(pNumber);
  }
  return phones.concat(typeNumbers);
}

注意

有关详细信息,请参阅方法说明: getPhoneNumber()

答案 2 :(得分:0)

您应该在任何条件语句之前将每次迭代的值存储在变量中。 case-switch语句可能也更适合这种情况。

for ( var g=0;g<contacts[i].getPhones().length;g++)
{
  var phone_type = contacts[i].getPhones()[g].getLabel()
  switch(phone_type) {
     case "MOBILE_PHONE":
         Phones += "C: "
         break;
     case "WORK_PHONE":
         Phones += "W: "
         break;
     case "HOME_PHONE":
         Phones += "H: "
         break;
     default:
         Phones += "O: "
  } 
  Phones += contacts[i].getPhones()[g].getPhoneNumber();
  Phones += "\n";
}