在Javascript中,如何使用另一个数组创建新数组

在Javascript中,如何使用另一个数组创建新数组,javascript,for-loop,Javascript,For Loop,我想要的输出是newArray=[4,9,16,25]。但我不明白。我在哪里犯了错误?请帮帮我 var array = [2, 3, 4, 5]; var result = []; function multiply(a) { return a * a; } function newArray (a) { for (i=0; i<a.lenght; i++){ result.push(multiply(a.value)); } } var new

我想要的输出是newArray=[4,9,16,25]。但我不明白。我在哪里犯了错误?请帮帮我

var array = [2, 3, 4, 5];
var result = [];

function multiply(a) {
   return a * a;
}

function newArray (a) {
    for (i=0; i<a.lenght; i++){
        result.push(multiply(a.value));
    }
}

var newArray = newArray(array);
var数组=[2,3,4,5];
var结果=[];
函数乘法(a){
返回a*a;
}
函数newArray(a){
对于(i=0;i
var数组=[2,3,4,5];
函数乘法(a){
返回a*a;
}
函数newArray(a){
返回a.map(乘法)
}
var结果=新数组(数组);

console.log(result)
这是另一种方法

const数组=[2,3,4,5];
函数多重数组(arr){
返回arr.map(x=>x*x);
}

log(multipleDarray(array));
保持逻辑不变

你拼错了
a.length
。 而且你错过了数组
a
的索引

var array = [2, 3, 4, 5];
var result = [];

function multiply(a) {
   return a * a;
}

function newArray (a) {
    for (i=0; i<a.length; i++){ //spelling mistake
        result.push(multiply(a[i])); // index should be used
    }
    return result;
}

console.log(newArray(array)); 
var数组=[2,3,4,5];
var结果=[];
函数乘法(a){
返回a*a;
}
函数newArray(a){

对于(i=0;i我发现,如果我使用ES6,我可以更改如下代码

const arrayPast=[2,3,4,5];
常量结果=[];
const appendArray=arrayPast.map(x=>x*x);

result.push(appendArray);

另一个想法,使用forEach

const oldArray = [3, 4, 5, 6];
const square = [];
const newArray = oldArray.forEach((x) => square.push(x * x));

(a.value)
没有定义,只是
结果推送(乘法(a[i]))
a.length
应该在那里。你拼写错了。你还忘了
返回结果。谢谢你指出错误。这对我帮助很大!谢谢你,但是将多个元素推入数组,结果没有完成。我按下向下箭头,结果变成蓝色。这是向上投票,对吗?对不起,赫马尔。我不知道如何提高投票率。我发现一旦我提高了另一个答案的投票率,我就无法纠正它。我非常抱歉。