You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js HTTPS JSON解析编程测评题解法合理性确认

Coderbyte编程测评:Node.js Debugging JSON Data 题目解法确认

题目要求

编写Node.js程序向指定API发送GET请求,API返回的JSON中data字段是包含key=STRING、age=INTEGER格式项的字符串。目标是输出索引10到15之间的key ID(示例格式:q3kG6,MGQpf,tg2VM,...)。题目提供了基础代码框架,需修正以仅将key ID存入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("=");
            keyArray.push(keySplit[1]);
        }

        return 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("=");
            if (jsonContentArray[i].trim().startsWith("key")) {
                keyArray.push(keySplit[1]);
            }
        }
        
        let keyArrayLimited = [];
        for (let i = 10; i < 16; i++) {
            keyArrayLimited.push(keyArray[i]);
        }


        return keyArrayLimited;

})

注:已修正原代码中require('https")的引号不匹配错误。

解法正确性确认与题目问题分析

  1. 解法正确性:
    你的解法逻辑是成立的:先过滤出所有key项存入keyArray,再提取索引10到15(包含10、15)的元素。如果题目示例暗示索引针对过滤后的数组,这个逻辑完全符合要求。

  2. 题目存在的问题:

    • 歧义性:题目未明确“索引”是针对包含age元素的原始分割数组,还是仅含key的过滤后数组;也未说明索引范围是包含边界(10和15都算)还是排除边界。
    • 示例错误:题目给出的示例暗示索引针对过滤后的数组且包含边界,但示例遗漏了应包含的元素Kj6XW。

内容的提问来源于stack exchange,提问作者Spencer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 11:41:00