Osa Alaviiva ovat inspiroineet tai lainattu Oliver Steele Functional, Prototype.js ja John Resig Micro-templaattimateriaalit.
Funktionaalinen ohjelmointi tukea lisätään, mutta ilman laajentamisen tarpeellisuutta sisäänrakennetun JavaScript esineitä.
Alaviiva tarjoaa 60-pariton toimintoja, jotka tukevat sekä tavanomaiset toiminnalliset epäillyt: kartta, valitse, vedota & ndash; sekä enemmän erikoistunut auttajia: toiminto sitova, JavaScript sivupohjamoottori, syvä tasa testaus, ja niin edelleen. Se delegoi sisäänrakennetut toiminnot, jos läsnä, joten nykyaikaiset selaimet käyttää natiivi toteutuksia foreach, kartta, vähentää, suodatin, joka, jotkut ja indexOf.
Satamat Underscore.js ovat saatavilla:
PHP
Pytonkäärme
Perl
Mikä on uusi tässä julkaisussa:
- Lisää _.create menetelmä, sillä karsittu version Object.create.
- Toimii ympäri iOS vika, joka voi väärin aiheuttaa isArrayLike olla JIT-ed. Myös korjaa vian kulkiessaan 0 isArrayLike.
Mikä on uusi versiossa 1.8.2:
- Korjaa / vaihtaa joitakin vanhoja-Internet-Explorer ja liittyvä reuna tapauksessa käyttäytymistä.
Mitä uutta strong> versiossa 1.7.0:
- Johdonmukaisuuden ja nopeutta eri selaimissa, alaviiva ohittaa nyt native array menetelmiä foreach, kartta, vähentää, reduceRight, suodatin, joka, jotkut, indexOf, ja lastIndexOf. & Quot; Harva & quot; paneelit ovat virallisesti kuollut Alaviiva.
- Lisätty _.iteratee muokata iteraattorit käyttämän kokoelma toimintoja. Monet Alaviiva menetelmiä vie merkkijonon peruste helpottaa _.property-tyylinen hakuja, objekti _.where-tyyliä suodatus tai toimivat mukautetun soittopyynnön.
- Lisätty _.before vastapainoksi _.after.
- Lisätty _.negate kääntää totuuden arvon kulunut-in predikaatti.
- Lisätty _.noop niin kätevä tyhjä paikkamerkki toimintoa.
- _. IsEmpty toimii nyt argumentteja esineitä.
- _. Nyt vartijat vastaan nullish esineitä.
- Ohita base menetelmiä kuten kukin ja joitakin, ja he käyttää sisäisesti muiden Alaviiva toimintojen liikaa.
- escape toiminnot käsittelevät backticks (`), käsitellä IE ≤ 8 bug.
- Johdonmukaisuuden _.union ja _.difference nyt vain työtä paneelit eikä variadic args.
- _. Memoize altistaa välimuisti memoized arvojen kiinteistön palasi toimintaan.
- _. Pick hyväksyy iteratee ja konteksti argumentteja kehittyneempiä soittopyynnön.
- Alaviiva malleja enää hyväksy lähtötiedot objektin. _.template aina palauttaa toiminnon nyt.
Mikä on uusi versiossa 1.5.0:
- Lähde kartta on nyt toimitettu helpompaa virheenkorjaus Minified tuotanto rakentaa ja Alaviiva.
- oletusarvot Toiminto nyt vain ohittaa epämääräisiä arvoja, eikä null niitä.
- Poistettiin mahdollisuus pyytää _.bindAll ilman menetelmän nimi argumentteja. Se on aika paljon aina järkevämpää valko-listan nimet menetelmistä haluat sitoa.
- Poistettiin mahdollisuus pyytää _.after kanssa vetoaminen määrä on nolla. Vähimmäismäärä puheluiden on (luonnollisesti) nyt 1.
Mikä on uusi versiossa 1.4.4:
- Lisätty _.findWhere, löytää ensimmäinen elementti luetteloon, joka vastaa tietyn joukon avaimia ja arvoja.
- Lisätty _.partial, sillä osittain soveltaa toiminnon muuttamatta sen dynaaminen viittaus tähän.
- Yksinkertaistettu sitoa poistamalla joitakin reuna tapaukset rakentaja toimintoja. Lyhyesti: älä _.bind oman rakentajia.
- pieni optimointi vedota.
- Korjaa vian Minified versiossa johtuen minifier virheellisesti optimoimalla away isFunction.
Mikä on uusi versiossa 1.4.3:
- Lisätty oletuksena _.identity iteraattori on countBy ja groupBy.
- uniq Toiminto voidaan nyt tehdä array, iteraattori, konteksti parametrilistaus.
- ajat toimivat nyt palauttaa kartoitettu erilaisia iteraattorin tuloksia.
- yksinkertaistettu ja kiinteät bugeja kaasua.
Mikä on uusi versiossa 1.4.2:
- Jos taaksepäin yhteensopivuus, palasi ennen 1.4. 0 käyttäytyminen kun kulkee nollan iterointia toimintoihin. He tullut no-ops uudelleen.
Mikä on uusi versiossa 1.4.0:
- Lisätty paria toiminto, kääntämiseksi JavaScript olio osaksi [avain, arvo] paria ... sekä kohde-toiminto, muuntaa joukko [key, arvo] pareja osaksi esinettä.
- Lisätty countBy funktio, joka laskee määrän objektien listan vastaavat tietyt kriteerit.
- Lisätty inverttisokeri toiminto, suorittamiseksi yksinkertainen inversio avaimet ja arvot objektin.
- Lisätty jossa toiminto, helppo tapauksia suodatus listan kohteita, joissa erityisiä arvoja.
- Lisätty omit toiminto, suodattamiseksi objektin poistamaan tiettyjä näppäimiä.
- Lisätty satunnainen funktio, palauttaa satunnaisluvun tietyllä alueella.
- _. Debounce'd toiminnot nyt palauttaa viimeksi päivitetty arvoa, kuten _.throttle'd toimintoja tehdä.
- SortBy funktio toimii nyt vakaa Lajittelualgoritmiin.
- Lisätty valinnaiset fromIndex vaihtoehto indexOf ja lastIndexOf.
- & quot; Harva & quot; Joukot ei enää tueta Alaviiva iteroinnissa toimintoja. Käytä for sijaan (tai vielä parempaa, objekti).
- min ja Max toiminnot voidaan nyt kutsua hyvin suurten taulukoiden.
- Interpolointi malleja edustaa nyt tyhjä ja epämääräinen kuin tyhjän merkkijonon.
Mikä on uusi versiossa 1.3.2:
- Lisätty pick-toiminto, jonka avulla voit suodattaa objekti kirjaimellisesti, jossa valkoinen lista sallituista ominaisuuksien nimiä.
- Lisätty tulos toiminnon, mukavuussyistä työskenneltäessä API, jotka mahdollistavat joko toimii tai raaka ominaisuuksia.
- Lisätty isFinite toiminto, koska joskus tietäen, että arvo on numero vain ei aivan riitä.
- SortBy toiminto nyt myös läpäissyt merkkijonon nimi kiinteistön käyttää lajittelujärjestyksen jokaisesta objektin.
- Kiinteä uniq työskennellä harva matriisia.
- erotusfunktion suorittaa nyt matala litistää sijaan syvä laskettaessa joukko eroja.
- debounce funktio ottaa nyt välittömän parametri, joka aiheuttaa soittopyynnön ampumasta johtava sijaan takareunan.
Mikä on uusi versiossa 1.3.1:
- Lisätty _.has toiminto, koska turvallisempi tapa käyttää hasOwnProperty.
- Lisätty _.collect kuin alias _.map. Smalltalkers, iloita.
- Palautettu vanha muutos siten, että _.extend se oikein kopioida avaimia epämääräisiä arvoja uudelleen.
- Bugikorjaus lopettaa pakenevat viiltää sisällä interpolointeja sisään _.template.
Mikä on uusi versiossa 1.3.0:
- Poistettu AMD (RequireJS) tuella Alaviiva.
Mikä on uusi versiossa 1.2.4:
- Can (ja luultavasti tulee) kirjoittaa _.chain (lista) sijasta _ (lista) .chain ().
- Fix pakeni merkkiä Alaviiva malleja, ja tukevat räätälöinti _.templateSettings että vain määrittää yhden tai kahden vaadituista regexes.
- Fix kulkee array ensimmäisenä argumenttina _.wrap'd toiminnon.
- Parannettu yhteensopivuutta ClojureScript, mikä lisää kutsu toimintoa String.prototype.
Mitä uutta strong> versiossa 1.2.3:
- Dynaaminen soveltamisala on nyt säilytetään koottu _.template toiminnot, joten voit käyttää arvoa tätä, jos haluat.
- Harva joukko tukea _.indexOf, _.lastIndexOf.
- Sekä _.reduce ja _.reduceRight voidaan nyt kulunut eksplisiittisesti määritetty arvoa.
Mikä on uusi versiossa 1.2.2:
- Jatkuva hienosäädön _.isEqual semantiikkaa. Nyt JS primitiivit katsotaan vastaavan niiden kääritty versioihin, ja taulukot vertaillaan niiden numeerisia ominaisuuksia vain.
- _. Paeta enää yrittää olla fiksu siitä ei kaksinkertaisen pakenemasta jo karannut HTML yhteisöjä. Nyt se vain pakenee riippumatta.
- _.template, voit nyt poistua puolipisteet ulos arvioidaan lausuntoja, jos haluat: & # X3C;%})% & # x3e;.
- _. Jälkeen (soittopyynnön, 0) nyt käynnistää soittopyynnön välittömästi, joten & quot; jälkeen & quot; helpompi käyttää asynkronista API.
Mikä on uusi versiossa 1.2.1:
- Useita tärkeitä virheiden korjauksia varten _.isEqual, joka pitäisi nyt tehdä paremmin muuntunut Taulukot, ja ei-Array objekteja pituus ominaisuuksia.
- Voiko nyt _.groupBy (luettelo, 'omaisuus') pikanäppäimenä ryhmittelyä arvoja tietyn yhteistä omaisuutta.
- _. Throttle'd toiminnot nyt ampumaan heti avuksihuutaminen, ja ovat nopeus rajoitettu sen jälkeen.
- Suurin _.is [tyyppi] tarkastaa enää ducktype.
- _.bind toiminto nyt toimii myös rakentajien,-la ES5 ... mutta et koskaan halua käyttää _.bind on rakentaja toimintoa.
- _. Klooni enää kietoo kuin kohdetyyppien in Objects.
- _. Etsiä ja _.filter ovat nyt ensisijainen nimet _.detect ja _.select.
Mikä on uusi versiossa 1.2.0:
- _.isEqual toiminto tukee nyt tosi syvällä tasa vertailuja, joissa tarkistaa syklisiä rakenteita, kiitos Kit Cambridge.
- Alaviiva malleja nyt tue HTML pakenevat interpolaatiot käyttäen & # X3C,% - ...% & # x3e; syntaksi.
- Ryan Tenney osaltaan _.shuffle, joka käyttää modifioitua Fisher-Yates antaa sinulle sekoitetaan kopio array.
- _. Uniq voidaan nyt kulunut valinnainen iteraattori, selvittää mitä kriteereitä esineen pitäisi harkita ainutlaatuinen.
- _. Kestävät nyt ottaa valinnainen argumentti, joka palaa viimeiset N luettelon tekijöihin.
- Uusi _.initial toiminto lisättiin, koska peili _.rest, joka palauttaa kaikki alkuperäiset arvot luettelon (paitsi viimeinen N).
Mikä on uusi versiossa 1.1.7:
- Lisätty _.groupBy, jossa esitetään kooste kokoelman osaksi ryhmiä kuten kohteita.
- Lisätty _.union ja _.difference, täydentää (uudelleen nimetty) _.intersection.
- Various parannuksia tukea harvan taulukot. _.toArray nyt palauttaa klooni, jos suoraan ohi array. _.functions nyt myös palauttaa nimet toimintoja, jotka ovat läsnä prototyyppi ketjussa.
Mikä on uusi versiossa 1.1.6:
- Lisätty _.after, joka palaa toiminnon että vain kulkee ensin kutsutaan tietyn määrän kertoja. _.invoke voi nyt suoranainen tehtävä viittaus. _.every edellyttää nyt iteraattorin toiminto välitetään, joka heijastaa ECMA5 API. _.extend enää kopioita avaimet, kun arvo on määrittelemätön. _.bind nyt virheitä yritetään sitoa määritetty arvoa.
Mikä on uusi versiossa 1.1.4:
- Parempi noudattamista ES5 n Array menetelmiä kulkiessaan null kuten arvoa. _.wrap nyt oikein asettaa tämä kääritty toimintoa. _.indexOf nyt ottaa vapaaehtoinen lippu löytää lisäys indeksi array, joka on taatusti jo lajitellaan.
- Vältetään .callee, jotta _.isArray toimimaan kunnolla ES5 tiukka tilassa.
Mikä on uusi versiossa 1.1.3:
- CommonJS, alaviiva voidaan nyt vaatia vain :
- var _ = vaatia (& quot; korostaa & quot;). Lisätty _.throttle ja _.debounce toiminnot.
- Poistettu _.breakLoop, hyväksi ECMA5-style un-break-pystyy kaikissa täytäntöönpanon - Tämän poistaa try / catch, ja sinulla on nyt paremmat pinon jälkiä poikkeuksista, jotka heitetään sisällä Alaviiva iteraattori. Parannettu isType perheen toimintoja paremman yhteentoimivuuden Internet Explorer isännän esineitä. _.template nyt oikein pakenee kenoviivoja malleihin. Parannettu _.reduce yhteensopivuus ECMA5 version: jos et läpäise alkuarvoa, ensimmäisen kohteen kokoelma on käytetty. _.each enää palauttaa Iteroidun keräämistä, parempaa johdonmukaisuus ECMA5 n foreach.
Mikä on uusi versiossa 1.0.4:
- _. Memoize toiminto, jota voidaan käyttää nopeuttaa kallis toistuvat laskelmat jonka välimuistia tuloksia.
Mikä on uusi versiossa 1.0.2:
- Kiinteät _.isArguments Opera.
Kommentteja ei löytynyt