通过函数传递数组时,我可以调用该函数吗?

时间:2013-12-27 11:18:47

标签: javascript

我必须将一个整数数组保存到变量中,然后使用for循环遍历数组中的每个元素,我将数组传递给doubleling函数然后保存原始数字和doubled数字作为键 - 对象中的值对。我目前卡住了,这是我的代码:

var myArray = [1, 2, 3, 4, 5];

for (i=0; i < myArray.length; i++)
{
    myArray[i];

}

var double = function(number)
{
   return number * 2;

};

var double = {i: double(myArray[i])};

3 个答案:

答案 0 :(得分:2)

只需循环初始化对象:

 var i = 0; 
 var doubleObject = {}; 
 for( i = 0 ; i < myArray.length ; i++){
     doubleObject[myArray[i]] = doubleFunction(myArray[i]);
 }
顺便说一下,

doublereserved word。你不应该使用它。

答案 1 :(得分:0)

你必须循环数组才能对数组中的每个元素做一些事情。

您的代码中有几个勘误表:

  • 你在循环中没有myArray[i];
  • 您将变量double分配两次。
  • i未在最后一段代码中定义。

干净的方法是:

var myDoubleArray = myArray.map(function(arrItem){
    return double(arrItem);
})

编辑:

在彻底阅读评论/问题后,我认为Paul D.有你的答案;)

答案 2 :(得分:0)

另一个reduce

的变体
myArray.reduce(function(ac,item){
    return ac[item] = doubleFunction(item), ac;
}, {})