阵列JavaScript问题。 第一个元素转向最后的位置

0

的问题

我有功能,得到阵列,并返回阵列与电2的每一个阵元。 这是源代码

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));

我得到了这个作为输出:

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的elments正在循环。 但现在列有第一个元素,在一些振振有辞,留在该结束。 我试图删除"1"从firstArr,然后是"4"进入最后的位置。 为什么?

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

最好的答案

2

把-1在你接手段插入之前的最后件数。 当阵列是空的,它只是作为只有项目。

以下,然后插入之前的最后一个元素,因此每随后的迭代将增加该项目作为第二最后一个元素。

我只想使用ES6魔法:

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

使用这个代码,它将工作一样的魅力!

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

好耶,是这样一个沉重的,令人费解的方式这样做。 你可以从字面上得到平的功能,也让你指定一个不同的功率提高到如果你想在一个线: const arrayPow = (arr, pow = 2) => arr.map(el => el**pow);
Jayce444

这原来的答复是像杀死一只苍蝇用猎枪。
Steve
0

如果我理解你的问题是否正确,您想要提高每个元件阵列中的2? 如果是这样,我不确定为什么你是接阵列。 你可以尝试如下:

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

其他语言

此页面有其他语言版本

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