将函数的结果存储到对象中

时间:2013-07-02 20:35:14

标签: arrays function variables store save

我在将函数的结果存储到对象中时遇到问题。返回似乎阻止循环获取我的所有数组值,并且当我通过将return或console.log设置为变量来引用我的对象中的numbers2时,我经常得到未定义。我需要将乘以的值加到numbers2空数组中。请帮忙!

<html>
<head>
</head>
<script>
   var numbers = [1,2,3,5];
   var numbers2 =[];
   function doubler(numbers){
      for(i=0; i<numbers.length;i++){
         console.log(numbers[i]*2);
      }
   };
   /*doubler(numbers);*/
   object=new Object();
   object.type1 = numbers;
   object.type2 = numbers2;
</script>
</html>

2 个答案:

答案 0 :(得分:1)

引用它时,未定义Numbers2,因为您只是在循环中记录值,而不是将它们添加到numbers2。希望这会有所帮助。

<html>
<head>
</head>
<script>
var numbers = [1,2,3,5];
var numbers2 =[];
function doubler(numbers){
  for(i=0; i<numbers.length;i++){
    console.log(numbers[i]*2);
    numbers2.push(numbers[i] * 2);
  }
};
doubler(numbers);
object=new Object();
object.type1 = numbers;
object.type2 = numbers2;

</script>
</html>

答案 1 :(得分:0)

您需要声明对象变量,将代码中的第13行更改为:

var object = new Object();

如果您将来可以像这样格式化代码,那将是很好的:

<html>
<head>
</head>
<script>
    var numbers = [1,2,3,5];
    var numbers2 =[];
    function doubler(numbers){
        for(i=0; i<numbers.length;i++){
            console.log(numbers[i]*2);
        }
    };
    /*doubler(numbers);*/
    object=new Object();
    object.type1 = numbers;
    object.type2 = numbers2;

</script>
</html>