重い刑のjs--配列

序文

多くの重いシーン決意アレイだけでなく、この方法は、重量決意の観点から、以下の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())
公開された465元の記事 ウォンの賞賛805 ビュー180 000 +

おすすめ

転載: blog.csdn.net/qq_42813491/article/details/104047751