Array JavaScript problemă. Primul element du-te la ultima poziție

0

Problema

Am funcție care-matrice, și a reveni matrice cu putere 2 din fiecare element de matrice. Acesta este codul sursă

const firstArr = [1, 2, 3, 7, 4, 9];

function arrayPow(arr) {
    const outputArray = [];
    arr.forEach(el => {
        console.log(el);
        outputArray.splice(-1, 0, el**2);
    })
    return outputArray;
}

console.log(arrayPow(firstArr));

Am luat acest lucru ca ieșire:

script.js:8 1
script.js:8 2
script.js:8 3
script.js:8 7
script.js:8 4
script.js:8 9
script.js:14 (6) [4, 9, 49, 16, 81, 1]

Scedule de elments corectă în buclă. Dar acum, în matrice, există primul element, în unele motivul, rămâi în urmă. Am incercat sa sterg "1" de la firstArr, apoi "4" du-te la ultima poziție. De ce?

arrays javascript
2021-11-24 04:49:39
3

Cel mai bun răspuns

2

Punerea -1 în îmbinare înseamnă că introduce înainte de ultimul element din matrice. Atunci când matricea este goală, ea pur și simplu este adăugat ca singurul element.

Următorul text, apoi introduceți înainte de ultimul element din matrice, prin urmare, ulterior la fiecare iterație se va adăuga elementul ca cea de-a doua ultimul element.

Mi-ar folosi doar ES6 magic:

const firstArr = [1, 2, 3, 7, 4, 9];
const arrayPow = (arr) => arr.map(i => i**2)
console.log(arrayPow(firstArr))

2021-11-24 05:14:02
0

Utilizați acest cod, se va lucra ca farmec!

const firstArr = [1, 2, 3, 7, 4, 9];

function arrayPow(arr) {
    return arr.map(v => v ** 2);
}

console.log(arrayPow(firstArr));
2021-11-24 05:01:15

Doamne asta e un astfel de grele, complicate mod de a face aceasta. Puteți obține literalmente o cuadratura funcție care, de ASEMENEA, să specificați o altă putere pentru a ridica în cazul în care doriți într-o singură linie: const arrayPow = (arr, pow = 2) => arr.map(el => el**pow);
Jayce444

Ca răspuns inițial a fost ca omori o musca cu o pușcă.
Steve
0

Dacă înțeleg întrebarea dumneavoastră în mod corect, vrei să crești fiecare element din matrice prin puterea 2? Dacă este așa, nu sunt sigur de ce sunt despicare matrice. Ai putea încerca următoarele:

function arrayPow(arr) {
    const outputArray = [];
    arr.forEach(el => {
        outputArray.push(el**2);
    })
    return outputArray;
}

const test = [1,2,3]
console.log(arrayPow(test))

2021-11-24 05:04:18

În alte limbi

Această pagină este în alte limbi

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
한국어
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................