- Computex 2024: monstrumhűtő a DeepCoolnál (videóval!)
- Computex 2024: szimpatikus Montech billentyűzetek a porondon
- Computex 2024: háznézőben a Montech asztalainál
- Computex 2024: kompakt AIO-k és tápegységek a Montech receptje alapján
- Computex 2024: a Ducky klaviatúrái sem restek felülni az analóg vonatra
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Azonnali alaplapos kérdések órája
- Milyen TV-t vegyek?
- AMD GPU-k jövője - amit tudni vélünk
- VR topik (Oculus Rift, stb.)
- TCL LCD és LED TV-k
- ThinkPad (NEM IdeaPad)
- 3D nyomtatás
- Melyik tápegységet vegyem?
- Computex 2024: a Ducky klaviatúrái sem restek felülni az analóg vonatra
Hirdetés
-
Filléres Redmi érkezett
ma Az A3x nem kapott nagy bemutatót, egyszer csak felbukkant.
-
10 éve nem változott ekkorát a Netflix tévés appja
it A Netflix útnak indította a megújult tévés appját, amely az első nagy felújítást jelenti az utóbbi 10 évben.
-
Computex 2024: monstrumhűtő a DeepCoolnál (videóval!)
ph Az Assassin IV széria legújabb verziója egy vapor chamber talpat kapott, így már 300 wattig használható.
-
PROHARDVER!
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
Jim-Y
veterán
Az elsőre egy félkész megoldás lehet például:
String.prototype.sameUntil = function(other) {
var cvar = (this.length < other.length ? this.length : other.length);
for(var i=0; i < cvar; ++i) {
if(this.charAt(i) != other.charAt(i)) {
return i;
}
}
return cvar;
}Azért félkész, mert a lehetséges buktatókat nem teszteltem ki, a példa adataidra jól működik, ha egyáltalán nem egyezik, akkor 0-t ad vissza. Illetve feltételezi, hogy az első karaktertől vett egyezést keresünk.
A második kérdést én sem értem igazán. Itt valahogy mindenképp csoportosítanod kéne az ugyanolyan str1-hez tartozó adatokat. Ha pl egy tömbbe tudod valahogy tenni az alma stringhez tartozó str2-ket, akkor
var almaArray = ["aluljáró", "almárium", "alváz"];
console.log(almaArray.map(function(elem) {
return "alma".sameUntil(elem);
}).reduce(function(prev, curr) {
return (prev < curr ? prev : curr);
}));// 2
De ha objektumba teszed, úgy is meg lehet oldani.
-
Karma
félisten
Hát, ez egy remek indikátora annak, hogy az adatforrásod nem fain. Nem utólag kéne kitalálnod, hogy egy fulltext mezőnek melyik része a gyártó, és hol kezdődik a termék...
Legalábbis semmiképp se a JS kódnak, hanem valami köztes résznek amivel a JS kommunikál.
Nade persze azzal kell főzni, ami van. Nekem is volt már ilyen bemenetem (autótípusok, pl. FIAT BRAVA xxxx yyyy... és ebből a FIAT-ot kellett leválogatnom). Végülis ez ugyanaz, de én shortcutot találtam hozzá: az első szót leveszem, a kéttagú neveket meg kontansként eltettem és kivételként kezelem. A hasznaltauto.hu jó forrás volt.
[ Szerkesztve ]
“All nothings are not equal.”
-
Karma
félisten
Ez a három szakasz a lényeg:
var manufacturers = _.groupBy(inputdata, function (product) {
return product.Gyarto;
});Azaz magyarra fordítva az underscore groupBy függvényt: "csoportosítsd az inputdata tömb elemeit a Gyarto property értéke alapján". Ezután a manufacturers egy olyan objektum, amiben a kulcsok a gyártók, az értékek pedig az oda tartozó termékek listája.
var manufacturerPrefixLengths = _.map(manufacturers, function (products, manufacturer) {
return {
manufacturer: manufacturer,
prefix: _.min(products.map(function (product) {
return product.Tipus.sameUntil(manufacturer);
}))
};
});Itt van az összehasonlítás meghívva. A map függvény veszi egy lista vagy objektum elemeit, ráhív egy függvényt egyesével mindre, az eredményeket pedig egy új listába fűzi össze. Más szóval transzformálja a listát.
Magyarul: "Minden gyártó-terméklista párt képezz le egy olyan objektumra, ami tartalmazza a gyártó nevét (manufacturer kulccsal), és az egyezések minimumát (prefix kulccsal)." A min függvény visszaadja egy lista minimumát.
A terméklistából prefixhosszlistát meg egy belső map képez, ami minden terméket leképez a gyártó nevével vett egyező szakasz hosszára.
var result = _.object(_.map(manufacturerPrefixLengths, function(x){return [x.manufacturer, x.prefix]}));
Ez az utolsó hívás pedig annyit tesz, hogy az előző lépésben generált listát, amiben a {manufacturer, prefix} objektumok voltak, egy valódi objektumra alakítja át.
“All nothings are not equal.”
Új hozzászólás Aktív témák
- Medence topik
- Intel Core i5 / i7 / i9 "Alder Lake-Raptor Lake/Refresh" (LGA1700)
- Politika
- Tőzsde és gazdaság
- Azonnali alaplapos kérdések órája
- Milyen TV-t vegyek?
- Kerékpárosok, bringások ide!
- Ilyen még nem volt: sztrájkba kezdtek a Samsung dolgozói
- Nyaralás topik
- Xiaomi Watch 2 Pro - oké, Google, itt vagyunk mi is
- További aktív témák...
- AKCIÓZVA! Lenovo ThinkBook 13s Fémházas Profi Ultrabook -60% i5-10210U 8GB 256GB SSD FHD IPS WIN10
- HP Elitebook 850 G3 i5 / 15.6" Full HD / 8Gb / 512Gb ssd / USB Type C / Win10
- TP-Link TL-SG1016D 16 portos gigabites Switch, első magánszemély tulajtól
- Dell Latitude 5590 / i5 8350u / IPS FHD 15,6" / 16GB DDR4 / 256Gb SSD / Win11
- Bomba ár! Acer Travelmate P215 - i3-8GEN I 8GB I 256GB SSD I 15,6" FHD I HDMI I Cam I W10 I Gari!
Állásajánlatok
Cég: Alpha Laptopszerviz Kft.
Város: Pécs
Cég: Ozeki Kft.
Város: Debrecen