簡體   English   中英

數組只顯示循環的最后結果 - JAVASCRIPT

[英]Array only showing last result of the loop - JAVASCRIPT

我想在 JSON 文件中獲取我的谷歌聯系人的完整列表,但我只獲取我的聯系人的最后一個值。

我應該改變什么? 或者這里有什么問題?

function contactsJSON() {

  var contactsjson = {}
  var myContacts = ContactsApp.getContactGroup('System Group: My Contacts').getContacts();
  for (var i = 0; i < myContacts.length; i++) {

    var id = myContacts[i].getId();
    var name = myContacts[i].getFullName();

    var emailsobj = myContacts[i].getEmails();
    var email = {}
    for (var j = 0; j < emailsobj.length; j++) {
      email[emailsobj[j].getAddress().toLowerCase()] = 1;
    };

    var phonesobj = myContacts[i].getPhones();
    var phone = {}
    for (var j = 0; j < phonesobj.length; j++) {
      phone[phonesobj[j].getPhoneNumber().replace(/[_)(\s.-]/g, '')] = 1;

    };

    for (var j = 0; j < id.length; j++) {
      contactsjson = { id: id, name: name, phone: phone, email: email };
    }
  }

  contactsjson = JSON.stringify(contactsjson);
  contactsjson = JSON.parse(contactsjson);
  Logger.log(contactsjson);
  return contactsjson;
}

希望你能幫我,

費德里科。

我剛剛想通了。

問題出在:

for (var j = 0; j < id.length; j++) {
  contactsjson = { id: id, name: name, phone: phone, email: email };

我將其更改為:

 for (var j = 0; j < phonesobj.length; j++) {
  contactsjson[phonesobj[j].getPhoneNumber()] = {id: id, name: name, phone: phone, email: email}

現在它在我的聯系人中的所有元素中正確循環。

問候,

費德里科。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM