配列やハッシュ(連想配列)から重複する値を削除

配列やハッシュ(連想配列)から重複する値を削除するには、次の方法で可能です。

関数定義

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);

JavaScript逆引きリファレンス一覧へ戻る