我在将函数的结果存储到对象中时遇到问题。返回似乎阻止循环获取我的所有数组值,并且当我通过将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>
答案 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>