お世話になっております。
今回は下記のコードに関して質問です。
var hairetu =[[1,2,3],[1,3, 4],[1,4, 8],[1,5, 8]....]; var second_hairetu = [[1,5],[1,6],[2,8]...]; var hairetu_key_add = [] for(var i = 0; i<hairetu.length;i++){ hairetu_key_add.push({ a: hairetu[i][0], b: hairetu[i][1], c: hairetu[i][2], }); } var kari = []; var zen_hairetu = []; for(var i=0; i<hairetu.length; i++){ kari= hairetu_key_add[i]; var first_check = second_hairetu[i][0]; var second_check = second_hairetu[i][1]; if(kari.a=== first_check && kari.b=== second_check){ zen_hairetu.push(kari.c); } };
やりたいこととして。hairetuの中の一つ目の値とkey_addのatamaの数と一致し、hairetuの二つ目の値とasiの数が一致した場合、その際のkari内に入っているnakaの値を配列に代入したいというものになります。
この際、
Cannot read property '0' of undefined
と、エラーがでますが、特に0のプロパティは使っていません。
どうすれば、今回の配列は改善できるでしょうか。よろしくお願いいたします。
for文の中で登場する、aって何ですか?
このコードだと
Uncaught SyntaxError: Unexpected token ':'
というエラーが出ますし、いろいろおかしいです。
質問通りに
Cannot read property '0' of undefined
というエラーの出るコードを貼り付けてください。
hairetu.length > second_hairetu.lengthの状態でforループすると、second_hairetu[i][0]でエラーになります。
どうしようもない場合を除いて、「...」等でコードを省略しないでください。
この質問の場合、質問内容に提示するのが不適切なほどにデータが長すぎるのであれば、短い仮のサンプルデータを作成するだけで済みます。
特に今回の場合、省略している箇所がエラーの主原因だと思われます。
質問をするためのサンプルデータを作成していれば、その過程でエラー原因に気づけた可能性が高く、こんな無駄な質問をしなくて済んでいたと思われます。
正しい質問をすることを心がけてください。
「無駄な質問」かどうかは現時点では断定できないのではないかと思います。「より有意義な時間を過ごせた」のは間違いないと思いますが(質問者だけではなく、追加を求める人と回答する人の時間でコストは倍々ですね)
回答1件
あなたの回答
tips
プレビュー