sharp231
@sharp231

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

配列のインデックス付けを正しく設定したい

解決したいこと

https://coderbyte.com/api/challenges/json/age-counting
上記のリンクを見ていただくと「age」と「key」の値があります

私がしたいことは配列の要素をデータの一部分だけ取り出せる「keyの10と15の間を文字列形式で出力」です

配列の要素から値を取り出すために、constで定数を宣言し、
keyArray()のメソッドの初期化を作成しました
要素の取得をするためにconsole.logで出力しました

できなかったので改善したいと思います

お手数おかけしますがよろしくお願いします

発生している問題・エラー

/tmp/412926082/main.js:24
    const key10and15 = keyArray(10, 16);
                       ^

TypeError: keyArray is not a function
    at IncomingMessage.<anonymous> (/tmp/412926082/main.js:24:24)
    at IncomingMessage.emit (node:events:525:35)
    at endReadableNT (node:internal/streams/readable:1359:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:82:21)
const https = require('https');

https.get('https://coderbyte.com/api/challenges/json/age-counting', (resp) => {

  let content = '';

  // push data character by character to "content" variable
  resp.on('data', (c) => content += c);

  // when finished reading all data, parse it for what we need now
  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]);
    }

    // console.log(keyArray.toString());

    const key10and15 = keyArray(10, 16);
    console.log(key10and15);


  });

});

または、問題・エラーが起きている画像をここにドラッグアンドドロップ

該当するソースコード

ソースコードを入力

例)

def greet
  puts Hello World
end

自分で試したこと

現在どこに問題があるか調べています

0

2Answer

Node.js の話のようですが、であればその旨質問欄編集して書いてください。


【追記】

let jsonContent = JSON.parse(content); の response にはどういう文字列が取得できているのか書いてください。それを書いてもらえない限り、エスパー回答者以外は回答できないと思いますよ。


【追記2】

質問のコードにある url からは以下の json 文字列が取得できるようで、これを何とかしたいという話のようですが、であれば、何をしたいのか第三者に分かるように言語化して質問欄に追記してください。

json.jpg

「改善します」とのことですが、改善するには、自分がやりたいことを、具体的に、ここに書いてない事以外は知りえない第三者が読んで分かるように、言語化して質問に書くということが必要ですので、よろしくお願いします。


【追記3】

改善してみました

私がしたいことは配列の要素をデータの一部分だけ取り出せる「keyIDの10と15の間を文字列形式で出力」です

依然として意味が分かりませんが・・・ KeyID って何?

なんにせよ、@nak435 さんの回答で解決したのであればこのスレッドはクローズしてください。

そうでなければ、どこが期待する結果と異なるのか詳しく書いてください。

1Like

Comments

  1. @sharp231

    Questioner

    改善してみました
    よろしくお願いします

↓こういうことですか?

-   const key10and15 = keyArray(10, 16);
+   const key10and15 = keyArray.slice(10, 16)
// [ 'IxKVQ', '79', 'eD221', '29', 'XZbHV', '32' ]
1Like

Comments

  1. @sharp231

    Questioner

    そうです

    データを一部だけ取り出したいです

Your answer might help someone💌