我們正在用ExpressionEngine構建一個網站。我們正在運行SQL查詢來收集特定成員組的所有成員標識。之後,我們使用EE標籤從每個成員ID的自定義成員字段獲取數據。JS和ExpressionEngine - 僅按重複值刪除KV對?
ID和字段數據需要保持配對,因爲我們將填充下拉列表,因此ID是值,字段數據是文本,所以我們現在將它們作爲關鍵字放入JS數組中/值對。呼叫如下:
var array= [
{exp:query sql="SELECT * FROM exp_members WHERE group_id = 5"}
{exp:member:custom_profile_data
member_id="{member_id}"}
{if company != ''}
{{member_id}:"{company}"},
{/if}
{/exp:member:custom_profile_data}
{/exp:query}
};
這給我們的輸出:
var array = [
{1:"name01"},
{2:"name02"},
{3:"name01"},
{4:"name03"}
];
現在,我們的問題。我們需要基於重複字段的數據刪除對象(值)而已,所以上述陣列是這樣的:
var array = [
{1:"name01"},
{2:"name02"},
{4:"name03"}
];
這些ID的無(鍵)將永遠是相同的,但現場數據(值) 可。因此,我們希望保留第一個具有唯一值的KV對,但刪除該值的任何後續模糊 - 儘管由於不同的ID(鍵)它們不會是真正的「重複值」。
請記住,KV對都是動態的,是否有任何可能的方式通過JS來做到這一點,所以我們可以創建一個新的數組,以清理數據傳遞給下拉?
非常優雅。我希望儘可能多地在查詢中保留這些內容。殺手工作。 mido22的答案非常適合JS的實現,但是這個解決方案在EE的範圍內絕對是首選。非常感謝。乾杯! – whatthefistheinternet 2015-03-03 15:55:01