Pot.js で利用可能。 PotLite.js では利用できません。
引数 object の要素をユニークにして返します。
引数 object の要素をユニークにした、新しい配列またはオブジェクトを生成し 返します。
引数 loose が 真 (true) として渡されると、比較は ==
で行われます。
デフォルトは false で ===
で比較します。
引数 ignoreCase が 真 (true) として渡されると、比較の際に大文字小文字を区別しません。
デフォルトは区別します。
Pot.globalize() が適応されている場合、Pot.unique() が unique() で実行できます。
object の要素をユニークにした要素を持つ、新しい配列またはオブジェクトを返します。
// ----- Array ----- debug(unique( [1, 2, 3, 4, 5, 3, 5, 'a', 3, 'b', 'a', 'c', 2, 5] )); // [1, 2, 3, 4, 5, 'a', 'b', 'c'] debug(unique( [5, 7, 8, 3, 6, 1, 7, 2, 3, 8, 4, 2, 9, 5] )); // [5, 7, 8, 3, 6, 1, 2, 4, 9] debug(unique( ['1', 1, '2', 2, 0, '0', '', null, false, (void 0)], true )); // ['1', '2', 0, null] debug(unique( ['abc', 'ABC', 'Foo', 'bar', 'foO', 'BaR'], false, true )); // ['abc', 'Foo', 'bar'] debug(unique( [1, 1, [123], (function(a) { return a;}), [123], {a: 5}, (function(a) { return a; }), {a: 5}] )); // [1, [123], (function() { return a; }), {a: 5}] // ----- Object ----- debug(unique( {a: 1, b: 2, c: 3, d: 1, e: 3, f: 2} )); // {a: 1, b: 2, c: 3} debug(unique( {foo: 1, bar: 2, FOo: 3, Bar: '1', baZ: '2'}, true, true )); // {foo: 1, bar: 2, FOo: 3} debug(unique( {a: 1, b: 2, c: 3, d: '1', e: '3', f: 5}, true )); // {a: 1, b: 2, c: 3, f: 5} // ----- String ----- debug(unique('abcABCabc-----foobarBaZ')); // 'abcABC-forZ' debug(unique('abcABCabc-----foobarBaZ', true, true)); // 'abc-forZ'