配列やハッシュ(連想配列)から重複する値を削除
配列やハッシュ(連想配列)から重複する値を削除するには、次の方法で可能です。
関数定義
JavaScript
/**
* 配列やハッシュ(連想配列)から重複する値を削除
* @param {any[]|object} object もととなる配列またはハッシュ(連装配列)
* @return {} 重複の値を削除した配列またはハッシュ(連装配列)を返す
*/
var removeDuplicates = function(object) {
var result = [], comparisons = [], comparison;
for (var key in object) {
comparison = JSON.stringify(object[key]);
if (comparisons.indexOf(comparison) === -1) result.push(object[key]);
comparisons.push(comparison);
}
return result;
};
- ※
JSON.stringify
を使用しているのでIE7以下には対応していません。
使い方
第一引数に対象の配列またはハッシュを指定します。
戻り値は、重複した値が削除された配列またはハッシュを返します。
JavaScript
var arr = [1, 10, 100, '1', '10', '100', 100, '10'];
var result = removeDuplicates(arr);
console.log(result);