記事のディレクトリ
序文
多くの重いシーン決意アレイだけでなく、この方法は、重量決意の観点から、以下の3つが3つの一般的な方法を含みます。
方法1-のindexOf
原理はindexOfのが最初のインデックス、複製、一貫性のない自然と現在のインデックスの要素を返すです
const arr = [3, 1, 2, 5, 4, 9, 7, 4]
function getRepeatItem1() {
for (let index = 0; index < arr.length; index++) {
const item = arr[index];
if (arr.indexOf(item) !== index) {
return item
}
}
}
console.log(getRepeatItem1()
方法2ソート
原理は、ソート後の配列をソートすることで、重複した要素が隣接することになります
const arr = [3, 1, 2, 5, 4, 9, 7, 4]
function getRepeatItem2() {
const sortArr = arr.sort();
for (let i = 0; i < arr.length; i++) {
if (sortArr[i] === sortArr[i + 1]) {
return sortArr[i]
}
}
}
console.log(getRepeatItem2())
方法3マップ
原理は、ハッシュテーブルであり、それが存在するかどうかを決定するために、ハッシュテーブルと各開始を繰り返すれる配列アイテムを横断します
const arr = [3, 1, 2, 5, 4, 9, 7, 4]
function getRepeatItem3() {
const map = new Map();
for (let i = 0; i < arr.length; i++) {
if (map.get("val") === arr[i]) {
return arr[i]
}
map.set("val", arr[i]);
}
}
console.log(getRepeatItem3())