2017-02-28 39 views
1

如何追加推入數組的對象,當在數組的push方法中使用函數時(我希望我正確寫法)?使用在Angular/JavaScript * array.push(function(parameter))中調用函數的array.push修改在數組中推入的對象*

我有以下方法,找到一個profile.id和keywordId之間的匹配,然後將匹配kewordId推入數組。 如何附加此推送方法以返回修改的對象,而不僅僅是keywordId?

我想有下面推入陣:

array.push({ id: profile.id, keyID: keywordID, name: profile.name });

但我不知道如何添加此行來啓用此:

array.push(findKeywordProfile(profile.id));

這是我創建陣列的方法:

function getKeywordProfiles(brandProfilesArray) { 
    var array = []; 
    brandProfilesArray.forEach(function (profile) { 
     array.push(findKeywordProfile(profile.id)); 
    }) 
    return $q.all(array); 
} 

這是Array.push函式時調用的方法:

function findKeywordProfile(brandProfileID) { 
    var keywordProfileID = $q.defer(); 
    pullSocialMediaData('list_keyword_profiles.json').then(function (data) { 
     var keywordProfileInstance = data.filter(function (keyword) { 
      return keyword.brand_profile_id === brandProfileID; 
     }); 
     keywordProfileID.resolve(keywordProfileInstance[0].id); 
    }); 
    return keywordProfileID.promise; 
} 

謝謝!

回答

0

你應該通過整個對象在功能keywordProfileID

喜歡的東西,

```

function findKeywordProfile(brandProfileID) { 
    var keywordProfileID = $q.defer(); 
    pullSocialMediaData('list_keyword_profiles.json').then(function (data) { 
     var keywordProfileInstance = data.filter(function (keyword) { 
      return keyword.brand_profile_id === brandProfileID; 
     }); 
     keywordProfileID.resolve({id: keywordProfileInstance[0].id, name: keywordProfileInstance[0].id, keyID: keyword}); 
    }); 
    return keywordProfileID.promise; 
} 

```

0

您可以從屬性創建一個對象keywordProfileInstance[0],將對象傳遞給resolve()

let {id, keywordID, name} = keywordProfileInstance[0]; 
keywordProfileID.resolve({id, keyID:keywordID, name}); 
+0

感謝您的意見和幫助。我設法使用A.I.S的建議進行整理。但我喜歡你的思路! – onmyway

0

你應該試試這個。希望它能工作

function getKeywordProfiles(brandProfilesArray) { 
    var array = []; 
    brandProfilesArray.forEach(function (profile) { 
     var data = findKeywordProfile(profile.id); 
     array.push(data); 
    }) 
    return $q.all(array); 
} 
+0

感謝您的意見和幫助。我設法使用A.I.S的建議進行整理。 – onmyway