技术需求:实现函数,给定索引与数组返回对应索引的数组元素(附待补全代码)
补全后的函数代码
原代码里的findIndex用法完全偏离需求——它是在数组里找值等于索引取整结果的元素位置,而我们要的是根据传入的索引值直接获取对应元素。以下是正确的补全方案:
function valueAtus(arr, index){ // 将传入的索引参数转为整数(用Math.floor保证向下取整,适配非整数索引的场景) const validIndex = Math.floor(index); // 返回数组对应索引的元素,索引越界时会返回undefined,符合JS默认行为 return arr[validIndex]; } console.log(valueAtus([1, 2, 3, 4, 5, 7], 10 / 2)) // 输出7,因为10/2=5,数组索引5对应的元素是7
如果需要更严谨的边界校验(比如处理负数、超出数组长度的无效索引),可以补充判断逻辑:
function valueAtus(arr, index){ const validIndex = Math.floor(index); // 检查索引是否在有效范围内(0 到 数组长度-1) if (validIndex >= 0 && validIndex < arr.length) { return arr[validIndex]; } // 索引无效时返回自定义值,这里以null为例 return null; }
内容的提问来源于stack exchange,提问作者S Gabale
相关产品推荐
相关产品推荐

