如何在循环中将数组列表内的参数传递给构造函数
核心实现逻辑
注意你原有代码的循环条件i < 3有误,要执行4次构造函数需要改为i < 4
实现思路非常简单:每次循环以i*4作为起始偏移量,从参数数组中取出连续4个元素传入构造函数即可,不同语言的具体实现语法略有区别,以下是主流语言的示例:
JavaScript 实现
const argList = [argument1, argument2, argument3, argument4, argument5, argument6, argument7, argument8, argument9, argument10, argument11, argument12, argument13, argument14, argument15, argument16]; for(let i = 0; i < 4; i++){ // 截取4个元素,用扩展运算符展开传参 constructor(...argList.slice(i*4, i*4 + 4)); }
Python 实现
arg_list = [argument1, argument2, argument3, argument4, argument5, argument6, argument7, argument8, argument9, argument10, argument11, argument12, argument13, argument14, argument15, argument16] for i in range(4): # 切片取4个元素,解包传参 constructor(*arg_list[i*4 : i*4 + 4])
Java 实现
// 此处参数类型可替换为你实际的参数类型 Object[] argList = {argument1, argument2, argument3, argument4, argument5, argument6, argument7, argument8, argument9, argument10, argument11, argument12, argument13, argument14, argument15, argument16}; for(int i = 0; i < 4; i++){ int offset = i * 4; constructor(argList[offset], argList[offset+1], argList[offset+2], argList[offset+3]); }
其他编程语言的实现逻辑完全一致,仅语法细节略有差异,按照上述思路调整即可。
内容的提问来源于stack exchange,提问作者shakky
相关产品推荐
相关产品推荐

