如何声明60元素数组:指定部分值,其余后续计算?
当然可以!无需冗余代码实现需求
绝对没问题,完全不用写冗余代码就能搞定这个需求——核心思路就是先创建指定长度的数组,利用语言自带的默认值(或者手动填充临时默认值),先给特定位置赋值,后续再处理其余元素的计算就行。下面给你唠几个常用编程语言的实现例子:
JavaScript
你可以先创建长度为60的数组,要么依赖默认的undefined,要么用fill填充你需要的初始默认值,再给特定索引赋值,最后遍历计算剩余元素:
// 方式1:依赖默认undefined const arr = new Array(60); // 给特定位置设值 arr[5] = 100; arr[20] = "hello"; // 后续计算其余元素 for (let i = 0; i < arr.length; i++) { if (arr[i] === undefined) { arr[i] = i * 2; // 这里替换成你的自定义计算逻辑 } } // 方式2:先填充统一默认值(比如0) const numArr = new Array(60).fill(0); numArr[10] = 50; // 后续按需修改剩余元素
Python
Python里可以用列表初始化占位,再修改特定索引,或者直接用列表推导式一步到位设置特定值+默认值:
# 方式1:先初始化默认值占位 arr = [None] * 60 # 设置特定元素 arr[3] = 42 arr[15] = "test" # 后续计算其余元素 for i in range(len(arr)): if arr[i] is None: arr[i] = i ** 2 # 自定义计算逻辑 # 方式2:列表推导式直接初始化特定值+默认值 # 比如索引5设为100,索引25设为"foo",其余设为0 arr = [100 if i ==5 else "foo" if i ==25 else 0 for i in range(60)] # 之后需要修改其他元素直接操作索引即可
Java
Java数组声明后,未赋值的元素会有语言默认值(int数组默认0,对象数组默认null),直接给特定索引赋值后,再遍历处理剩余元素就行:
// int类型数组,默认值为0 int[] arr = new int[60]; // 设置特定值 arr[7] = 150; arr[30] = 200; // 后续计算其余元素(注意如果业务中可能用到0,要换判断逻辑) for (int i = 0; i < arr.length; i++) { if (arr[i] == 0 && i !=7 && i !=30) { arr[i] = i * 3; } } // 对象数组示例,比如String数组默认值为null String[] strArr = new String[60]; strArr[12] = "hello"; // 后续处理剩余元素
总的来说,不管用哪种语言,都是先占好60个元素的位置,先填已知的特定值,剩下的留到后面计算就行,完全不需要冗余代码~
内容的提问来源于stack exchange,提问作者Tomas Loksa
相关产品推荐
相关产品推荐

