特に Java と Javascript については知りませんが、多くの言語では、辞書順にソートできるある種の配列データ構造が提供されています。したがって、あなたが言ったように、「a.example.com」を {"com", "example", "a"} に変換し、デフォルトの並べ替えルールを実行させます。辞書式ソートは、まさにあなたが望むことを行います。
ローカル ドメインと FQDN のリストがある場合は、それらを分離したいという意見に同意します。ピリオドが含まれていないものはすべて、最初に除外できます。または、それらすべてを FQDN に解決してから、リスト全体を並べ替えることができます。
これを行ういくつかの Python コード (Javascript にかなり厳密にマップする必要があります):
hosts = ["a.foo.com", "b.foo.com", "foo.com", "c.bar.com"]
split_hosts = []
for h in hosts:
segments = h.split('.')
segments.reverse()
split_hosts.append(segments)
split_hosts.sort()
for segments in split_hosts:
segments.reverse()
print ".".join(segments)
これは以下を出力します:
c.bar.com
foo.com
a.foo.com
b.foo.com