tässä viestissä, näemme, miten löytää risteysalueiden kahden taulukon JavaScript. Järjestyssanoissa luetellaan kunkin taulukon yhteiset arvot.
esimerkiksi ryhmien ja
on
.
Array.prototyyppi.suodatin ()
ideana on tarkistaa ensimmäisen joukon jokaisen alkuaineen läsnäolo toisessa jonossa. This can be easily done using indexOf()
method with the filter()
method in following manner:
1
2
3
4
5
6
7
8
9
|
var first = ;
var second = ;
var common = first.filter(x => second.indexOf(x) !== -1)
console.log (”the common elements are:” + common);
/*
Output: the common elements are: 2,3
|
to check for the presence of certain element in an array, we can käytä myös uusinta includes()
– menetelmää, joka palauttaa boolean-arvon. Tämä näkyy alla:
1
2
3
4
5
6
7
8
9
|
var first = ;
var second = ;
var common = first.filter(x => second.includes(x))
console.log(”The common elements are: ” + common);
/*
Output: The common elements are: 2,3
*/
|
Huomaa, että tämä ratkaisu ei johda ainutkertaisiin arvoihin tuotoksessa.
käyttämällä joukkoa
toinen ratkaisu on muuntaa joukko ES6 Set
ja kutsua sen has()
– menetelmäksi, jolla tarkistetaan, onko toisen joukon alkuaineita.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
funktion leikkauspiste(ensimmäinen, toinen)
{
var s = uusi joukko(toinen);
palaa ensin.filter(item => s. has (item));
};
var first = ;
var second=;
var common = intersection(first, second);
console.log (”the common elements are:” + common);
/*
Output: the common elements are: 2,3
|
Jos haluat välttää tulosteessa olevien kaksoiskappaleiden tulostamisen, voit poistaa kaksoiskappaleet ensimmäisestä array kuten alla:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 |
funktion leikkauspiste(ensimmäinen, toinen)
{
first = new set(ensimmäinen);
second = new set(toinen);
Return .filter (item => second.has (kohde);
};
var first=;
var second=;
var common = intersection(first, second);
console.log (”Common elements are:” + common);
/*
Output: Common elements are: 2,3
|
Underscore/Lodash
koska setiä ei haluta käyttää yhteisten arvojen löytämiseen välitietorakenteena, koodia voidaan yksinkertaistaa käyttämällä alaviivoja tai lodash-kirjastoa. The following code example prints the unique values that are present in given arrays using intersection() method.
1
2
3
4
5
6
7
8
9
10
11
|
var _ = require(’lodash’); // or underscore
var first = ;
var second = ;
var common = _.intersection(first, second);
konsoli.log (”the common elements are:” + common);
/*
Output: the common elements are: 2,3
|
jQuery
jQueryn kanssa voit käyttää alla olevaa koodia:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
const { jsdom } = require(”jsdom”);
const { window } = new jsdom ();
var $ = require(”jQuery”)(window;
var first=;
var second=;
var secondNotFirst = $(second).not(first); // – =
var common = $(second).not (secondNotFirst); // – =
konsoli.log (”the common elements are:”);
for (var i = 0; i < common.length; i++) {
konsoli.log (common);
}
/ *
Lähtö: yhteiset elementit ovat:
2
|
koodia voidaan yksinkertaistaa käyttämällä jQuery filter()
menetelmää:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
9 |