Rumah > hujung hadapan web > Soal Jawab bahagian hadapan > Apakah tiga kaedah untuk mengalih keluar pendua daripada tatasusunan nod?

Apakah tiga kaedah untuk mengalih keluar pendua daripada tatasusunan nod?

WBOY
Lepaskan: 2022-02-28 16:09:33
asal
3576 orang telah melayarinya

Kaedah: 1. Gunakan struktur data peta untuk mencapai penyahduplikasian, dan simpan setiap elemen tatasusunan sebagai kunci dalam peta 2. Gunakan kaedah set dalam es6 untuk mencapai penyahduplikasian, sintaksnya ialah "Set (array) "; 3. Gunakan pernyataan forEach dengan indexOf untuk mencapai penduaan.

Apakah tiga kaedah untuk mengalih keluar pendua daripada tatasusunan nod?

Persekitaran pengendalian artikel ini: sistem Windows 10, nodejs versi 12.19.0, komputer Dell G3.

Apakah tiga kaedah untuk menyahduplikasi tatasusunan nod?

Kaedah pertama ialah menggunakan struktur data Peta untuk menyahganda

Cipta struktur data Peta kosong dan melintasi tatasusunan yang perlu dinyahduakan , simpan setiap elemen tatasusunan sebagai kunci dalam Peta. Oleh kerana nilai kunci yang sama tidak akan muncul dalam Peta, hasil akhir ialah hasil penyahduplikasian

function a(arr) {
                let map = new Map();
                let array = new Array();  // 数组用于返回结果
                for (let i = 0; i < arr.length; i++) {
                    if (map.has(arr[i])) {  // 如果有该key值
                        map.set(arr[i], true);
                    } else {
                        map.set(arr[i], false);   // 如果没有该key值
                        array.push(arr[i]);
                    }
                }
                return array;
            }
            var arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5];
            console.log(a(arr)) //[1,2,3,4,5]
Salin selepas log masuk

Kaedah kedua ialah menggunakan set dalam ES6 yang merupakan kaedah penyahduplikasian paling mudah

let arr2 = [1, 2, 3, 4, 5, 5, 4, 3];
            let res = [...new Set(arr2)];
            console.log(res);
Salin selepas log masuk

Jenis ketiga untukSetiap indexOf melaksanakan penyahduplikasi

var arr3 = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5];
            var b = distinct(arr3);
            function distinct(arr) {
                result = [],
                    len = arr3.length; //len=10;
                arr3.forEach(function (v, i, arr3) {
                    var bool = arr3.indexOf(v, i + 1);
                    //从传入参数的下一个索引值开始寻找是否存在重复
                    if (bool === -1) {
                        result.push(v);
                    }
                })
                return result;
            };
            console.log(b.toString()); //1,2,3,4,5
Salin selepas log masuk

Pembelajaran yang disyorkan: "tutorial video nodejs"

Atas ialah kandungan terperinci Apakah tiga kaedah untuk mengalih keluar pendua daripada tatasusunan nod?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan