我们正在用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