Hiina kogukond FreeCodeCamp vastab küsimustele ja märkustele (neljas osa string, massiivioperatsioonid)

Freecodecamp Chinese Community Answer Questions



Hiina kogukond FreeCodeCamp vastab küsimustele ja märkustele

1. Kärbi string (kärbitud string)

Kärbi string



(Kasutage Ritz-i vastupidise väljapääsu katkestamiseks)



Kui märgistringi pikkus on pikem kui määratud parameeter num, tähistab lisaosa tähis ....



Pidage meeles, et stringi lõppu sisestatud kolme punkti arvestatakse ka stringi pikkuses.

Kui aga määratud parameeter num on väiksem või võrdne 3, ei arvestata lisatud kolme punkti stringi pikkuses.

Kui te ei saa väljakutset täita, avage suur „Loe-Otsi-Küsi”.



/* Personal idea: For the given string, keep the first num bits, and the rest are replaced by... If num 3, the first num-3 bits are reserved, and the rest are replaced with ... If num >= str.length, return str itself */ function truncate(str, num) { var newString = '' //If num<=3, the first num bits are reserved, and the rest are replaced by... if(num <= 3) { newString = str.slice(0, num).concat('...') return newString } //If num >= str.length, return str itself if(num >= str.length) { newString = str return newString } //If num> 3, the first num-3 bits are reserved, and the rest are replaced by... else if(num > 3) { newString = str.slice(0, num - 3).concat('...') return newString } } truncate('A-tisket a-tasket A green and yellow basket', 50)

Teiseks, turske ahv (split array)

Ahv sööb banaani, jagab massiivi

(Ahv sööb banaane, kuid jagub söömiseks mitmeks osaks)

Jagage massiivi massi mitmeks massiivi plokiks vastavalt määratud massiivi suurusele.

Näiteks: tükike ([1,2,3,4], 2) = [[1,2], [3,4]]

tükike ([1,2,3,4,5], 2) = [[1,2], [3,4], [5]]

Kui te ei saa väljakutset täita, avage suur „Loe-Otsi-Küsi”.

Põhipunktid: Array.slice () ja Array.push ()

/* Personal idea: divide the array into sub-arrays according to the given size, and finally return the result as a new array */ function chunk(arr, size) { // Please write your code here var newArray = [] //var newArrayLength = Math.floor(arr.length / size) + arr.length% size //Calculate the length of the new array //return newArrayLength for(var i=0 i return newArray } chunk(['a', 'b', 'c', 'd'], 3) //[['a', 'b', 'c'], ['d']] chunk(['a', 'b', 'c', 'd'], 2) //[['a', 'b'], ['c', 'd']]

Kolm, Slasher Flick (kärbitud massiiv)

Kärbi massiiv

Tagastab massiivi ülejäänud elemendid pärast n elemendi kärpimist, kärpimine algab indeksist 0.

Kui te ei saa väljakutset täita, avage suur „Loe-Otsi-Küsi”.

Siin on mõned teile kasulikud ressursid:
Array.slice ()
Array.splice ()

Põhipunktid: splice () meetod
Splice () meetod lisab / eemaldab massiivist üksused ja tagastab seejärel kustutatud üksused.
See meetod muudab algset massiivi.
Kirjuta siia pildikirjeldus
Splice () meetod kustutab null või enam elementi algusega indeksist ja asendab need kustutatud elemendid ühe või mitme parameetrite loendis deklareeritud väärtusega.

Kui element arrayObject kustutatakse, sisaldab tagastatav massiiv kustutatud elementi.

1. Kustuta - kasutatakse elementide, kahe parameetri, esimese parameetri (esimese üksuse kustutamise asend), teise parameetri (kustutatavate üksuste arv) kustutamiseks.

2. Sisestage mis tahes üksus massiivi määratud asukohta. Kolm parameetrit, esimene parameeter (sisestusasend), teine ​​parameeter (0), kolmas parameeter (üksuse sisestamine).

3. Asendage - sisestage ükskõik milline element massiivi määratud kohale ja kustutage ükskõik mitu üksust korraga, kolm parameetrit. Esimene parameeter (algusasend), teine ​​parameeter (kustutatud üksuste arv) ja kolmas parameeter (sisestage suvaline arv üksusi).

//Return the remaining elements after an array is truncated by n elements. Truncation starts at index 0. function slasher(arr, howMany) { // Please write your code here var newArray = [] if(howMany > arr.length) { //If the given length is greater than the length of the array, return an empty array newArray = [] return newArray } newArray = arr.slice(howMany) return newArray } slasher([1, 2, 3], 2)

4. Mutatsioonid (meetod indexOf ())

Võrrelge stringe

(Kärnkonn võib süüa meeskonnakaaslasi ja vastaseid)

Kui massiivi esimene stringielement sisaldab kõiki teise stringielemendi märke, tagastab funktsioon tõene.

Näiteks ['hello', 'Hello'] peaks tagastama true true, Kuna väiketähti ignoreerides leiate esimesest stringist kõik teise stringi märgid.

['hello', 'hey'] Peaks tagasi pöörduma false Stringi tõttu 'hello' Ei sisalda märki 'y'.

['Alien', 'line'] Peaks tagasi pöörduma true, Kuna kõik rea tähemärgid leiate jaotisest Alien.

Kui te ei saa väljakutset täita, avage suur „Loe-Otsi-Küsi”.

Põhipunktid: string.indexOf () meetod

Meetod indexOf () tagastab stringi määratud stringi väärtuse esmakordse esinemise.

Kui sobivat stringi ei leitud, tagastatakse -1.

Märkus. Meetod indexOf () on tõstutundlik.
Kirjuta siia pildikirjeldus
string.lastIndexOf () meetod

Meetod lastIndexOf () tagastab määratud stringi väärtuse viimase esinemise ja otsib stringi määratud positsioonilt tagasi.

//If the first string element of the array contains all the characters of the second string element, the function returns true. function mutation(arr) { var newArr1 = arr[0].toLowerCase()//Convert to lower case var newArr2= arr[1].toLowerCase() //Determine whether all elements in the second string can be found in the first string for(var i=0 i if(newArr1.indexOf(newArr2[i]) == -1) { return false } } return true } mutation(['hello', 'hey']) //false mutation(['Mary', 'Aarmy']) //true

Viis, Falsy Bouncer (Filter () meetod)

Filtri massiivi valeväärtused

(Õige ja vale ilu ahvikuningas)

Kustutage massiivist kõik valeväärtused.

JavaScripti valeväärtused on false, null, 0, '', undefined, and NaN.

Kui te ei saa väljakutset täita, avage suur „Loe-Otsi-Küsi”.

Siin on mõned teile kasulikud ressursid:

Loogilised objektid
Array.filter ()

Filter () meetod:
Filter () meetod loob uue massiivi, mis sisaldab kõiki pakutava funktsiooni abil rakendatud testi elemente.
filter () täidab määratud funktsiooni (tagasihelistamise) üks kord iga massiivi elemendi jaoks ja loob uue massiivi, massiivi element on tõene tagastusväärtus, kui kõik tagasihelistamisfunktsioonid on täidetud. Algse massiivi elemendid. See täidab määratud funktsiooni ainult massiivi mittetühjadel elementidel. Elemente, millele pole määratud või mis on kustutatud, eiratakse. Samal ajal ei sisalda vastloodud massiiv neid elemente.

Tagasihelistamisfunktsioonil võib olla kolm parameetrit: praegune element, praeguse elemendi indeks ja praegune massiiviobjekt.

var words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present'] const result = words.filter(word => word.length > 6) console.log(result) //['exuberant', 'destruction', 'present']

Kirjutage pildikirjeldus siia
Kirjutage pildikirjeldus siia

//Filter array false values. In JavaScript, false values ​​are false, null, 0, '', undefined and NaN. function bouncer(arr) { // Please write your code here return arr.filter(Boolean) } bouncer([7, 'ate', '', false, 9])

Kuus, otsi ja hävita (argumendid, filter ())

Hävitage massiiv

Jinxi mört!

Rakendage hävitaja funktsioon. Esimene parameeter on hävitatav massiiv ja ülejäänud parameetrid on hävitatavad väärtused.

Kui te ei saa väljakutset täita, avage suur „Loe-Otsi-Küsi”.

Siin on mõned teile kasulikud ressursid:

Arguments object Array.filter() //Delete the specified value in the array, and then return a new array function destroyer(arr) { // Please write your code here //Arguments object check the number of parameters var numberOfArguments = arguments.length //return numbebrOfArguments //3 //Move the content after the first parameter into a new array var newArray1 = [] for(var i=1 i<arguments.length i++) { newArray1.push(arguments[i]) } //return newArray1 //[2, 3] //Filter out the elements in the new array newArray1 in the first array and return a new array var newArray2 = [] newArray2 = arr.filter(function(arr) { return newArray1.indexOf(arr) <0 }) return newArray2 } destroyer([1, 2, 3, 1, 2, 3], 2, 3) //[1, 1]

7. Kuhu ma kuulun (sorteeri massiiv ja sisesta elemendid indeksi väärtuse tagastamiseks)

Sorteeri massiiv ja leia elementide register

Kus ma olen?

Esmalt sorteerige massiiv, seejärel leidke massiivis määratud väärtuse asukoht ja lõpuks tagastage positsioonile vastav indeks.

Näited: where([1,2,3,4], 1.5) Peaks tagasi pöörduma 1. Kuna 1,5 sisestatakse massiivi [1,2,3,4] ja saab [1,1,5,2,3,4] ning vastav indeksi väärtus 1,5 on 1.

Samamoodi where([20,3,5], 19) Peaks tagasi pöörduma 2. Kuna massiivi sorteeritakse kõigepealt [3,5,20], sisestatakse 19 massiivi [3,5,20] ja seejärel saab [3,5,19,20] ning vastav indeksi väärtus 19 on 2.

Kui te ei saa väljakutset täita, avage suur „Loe-Otsi-Küsi”.

// Sort the array first, then find the position of the specified value in the array, and finally return the index corresponding to the position. function where(arr, num) { //Array sort and return a new array var newArray = [] newArray = arr.sort(function(a, b) { return a - b }) //return newArray [2, 5, 6, 12] //Insert num and return the correct index if(num > newArray[newArray.length - 1]) { return newArray.length } for(var i=0 iif(newArray[i] >= num) { return i } } } where([2, 12, 6, 5], 8) //3

8. Caesars Cipher

Caesari koodeks

(Las Jumal pöördub tagasi Jumala juurde, keiser naaseb keisri juurde)

Tutvustame kogu maailmas populaarset Caesari parooli Caesar cipher, tuntud ka kui shift password.

Parooli vahetamine tähendab, et parooli tähed nihutatakse vastavalt määratud numbrile.

Levinud juhtum on ROT13 parool, kus tähti nihutatakse 13 positsiooni võrra. Alates ‘A’ ↔ ‘N’, ‘B’ ↔ ‘O’ jne.

Krüptitud stringi sisestamiseks ja dekrüpteeritud stringi väljastamiseks kirjutage funktsioon ROT13.

Kõik tähed on suurtähtedega kirjutatud. Ärge teisendage tähestikust erinevaid tähemärke (näiteks tühikud, kirjavahemärgid). Kui leiate neid erimärke, jätke need vahele.

Kui te ei saa väljakutset täita, pidage meeles, et avage suur samm 'Read-Search-Ask'

Siin on mõned teile kasulikud ressursid:

String.charCodeAt ()

Meetod charCodeAt () tagastab täisarvu vahemikus 0 kuni 65535, mis tähistab UTF-16 koodiüksust antud indeksis
Kirjuta siia pildikirjeldus
Kirjutage pildikirjeldus siia
Kirjutage pildikirjeldus siia

Kirjuta siia pildikirjeldus
String.fromCharCode ()
staatiline String.fromCharCode() Meetod tagastab stringi, mis on loodud Unicode'i väärtuste määratud järjestusega
Kirjuta siia pildikirjeldus
Kirjuta siia pildikirjeldus

//String.charCodeAt() returns the ASCII code value corresponding to the character at the specified index //String.fromCharCode(num1, num2, ..., numn) returns the string corresponding to the given ASCII code //Write a ROT13 function to realize input of encrypted string and output of decrypted string. function rot13(str) { // LBH QVQ VG! // Please write your code here //arr1 = ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z'] //arr2 = ['N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M'] var arr = str.split('') //eturn arr // ['S','E','R','R','','P','B','Q','R','','P','N','Z','C'] for(var i=0 i var num1= arr[i].charCodeAt(0) //The CII code value of the input encrypted character if(num1>=65 && num1<=90) { //Determine whether it is a character if(num1>=65 && num1<=77) { arr[i] = String.fromCharCode(num1+13) }else if(num1>=78&& num1<=90) { arr[i] = String.fromCharCode(num1-13) } }else { //If it is not a string, it will not change arr[i] = arr[i] } } str = arr.join('') return str } rot13('SERR PBQR PNZC') // You can modify this line to test your code