想要多次“返回”
Want to `return` more than once
本文关键字:返回 更新时间:2023-09-26
我想返回多行(for循环每次执行一行),但是它只返回第一行。我试着写一个函数来返回行,但是我得到了错误,因为我不知道把它放在哪里。
做这件事的好方法是什么?
for (var i = 0; i < testArray.length; i +=3) {
geometry.vertices.push(
new THREE.Vector3( testArray[i], testArray[i + 1], testArray[i + 2] ),
new THREE.Vector3( testArray[i + 3], testArray[i + 4], testArray[i + 5] ));
var line = new THREE.Line(geometry, material);
return line;
// or if using function, returnLine(line);
}
尝试功能:
function returnLine(line) {
return line;
}
只能返回一个值。第一次调用return
结束函数。您也不能通过将return
语句包装在另一个函数中来解决这个问题。
将您希望返回的值包装在数组中,这允许您在调用函数中访问所有这些值:
var output = new Array();
for (var i = 0; i < testArray.length; i +=3) {
geometry.vertices.push(
new THREE.Vector3( testArray[i], testArray[i + 1], testArray[i + 2] ),
new THREE.Vector3( testArray[i + 3], testArray[i + 4], testArray[i + 5] ));
var line = new THREE.Line(geometry, material);
output.push(line);
}
return output;
通过这种方式,您可以通过循环遍历返回的数组并处理每行来在调用函数中处理输出。
var lines = [];
for (var i = 0; i < testArray.length; i +=3) {
geometry.vertices.push(
new THREE.Vector3( testArray[i], testArray[i + 1], testArray[i + 2] ),
new THREE.Vector3( testArray[i + 3], testArray[i + 4], testArray[i + 5] ));
var line = new THREE.Line(geometry, material);
lines.push(line);
}
return lines;
函数中使用return
关键字,您仍然可以使用map
数组方法循环testArray
var testArray = [1, 2, 3], //whatever
newArray = [];
newArray = testArray.map(function(element, i){
geometry.vertices.push(
new THREE.Vector3( testArray[i], testArray[i + 1], testArray[i + 2] ),
new THREE.Vector3( testArray[i + 3], testArray[i + 4], testArray[i + 5] ));
var line = new THREE.Line(geometry, material);
return line;
});
function returnLine(index) {
return newArray[ index || 0 ];
};
相关文章:
- 节点导出返回一个空对象
- ES6构造函数返回基类的实例
- 监视函数从服务返回不起作用,但作用域函数起作用
- 控制台返回var不是't定义,但它是
- 从函数返回角度承诺
- Javascript返回值只在循环中返回一次
- 从控制器返回后Ajax启动事件激发
- CKFinder 3为所选文件返回错误的URL
- 如何在d3.js中返回路径的y坐标
- 如何从jquery函数返回变量
- Angular js-返回一个包含类似
- JSONP请求返回结果,但也触发error_callback
- 如何使用Spring MVC将Facebook返回的响应数据保存在Java类中
- 从HTTPGET返回一个自定义对象列表,以便在Angular 2应用程序中使用
- JS验证ajax返回的html中的表单数据
- 使用谷歌应用程序脚本将服务器端数据表返回到客户端
- AJAX:$_GET不返回任何值
- 从Javascript方法返回全局变量
- Meteor方法在客户端返回null,在客户端运行的相同方法返回正确的值
- RequireJS向模块传递配置总是返回undefined