NodeJS调试任务:修复代码以正确提取指定索引的Key ID
修复Node.js解析JSON提取指定范围Key ID的问题
问题说明
我们需要通过Node.js向指定API发送GET请求,返回的JSON中data字段是一串类似key=xxx, age=xx格式的字符串。目标是提取索引10到15之间的Key ID并打印,但现有代码会把所有key和age的值都加入数组,需要修正。
现有代码的问题
原循环没有区分key=和age=项,导致keyArray里混入了年龄数值,而且没有截取目标索引范围。
修复后的代码
const https = require('https'); https.get('https://coderbyte.com/api/challenges/json/age-counting', (resp) => { let content = ''; resp.on('data', (c) => content += c); resp.on('end', () => { let jsonContent = JSON.parse(content); let jsonContentArray = jsonContent.data.split(','); let keyArray = []; for (let i = 0; i < jsonContentArray.length; i++) { let keySplit = jsonContentArray[i].trim().split('='); // 只收集key开头的项 if (keySplit[0] === 'key') { keyArray.push(keySplit[1]); } } // 截取索引10到15的元素(slice左闭右开,所以结束索引是16) const targetKeys = keyArray.slice(10, 16); console.log(targetKeys.toString()); }); });
修改要点
- 添加判断条件
if (keySplit[0] === 'key'),确保只有Key ID被加入keyArray - 使用
slice(10, 16)截取索引10到15的元素(因为数组索引从0开始,slice的第二个参数是不包含的结束位置)
内容的提问来源于stack exchange,提问作者Faisal bashir
相关产品推荐
相关产品推荐

