htmlで配列を印刷しようとしていますが、forループが機能しません。私はdataArrayNew
の長さを取得しようとしていますが、私のforループが追加されていない場所に戻ってきません。もし私がconsole.log(dataArrayNew.title);
なら、私は正しい結果を見ることができます。私はまた、私のブラウザコンソールの印刷画面を添付しています。あなたがオブジェクトであり、オブジェクトがプロパティlength
を持っていない結果JSON.parse
に配列からdataArrayNew
を再割り当てされているので、あなたがlength
プロパティを見ることができない理由 forループがjsマップ関数で機能しない
var dataArrayNew = [];
function fetch_section_data_1(){
var keys = Object.keys(localStorage).filter(function(key) {
return /^section\d+$/.test(key);
});
var dataArray = keys.map(function(key) {
dataArrayNew = JSON.parse(localStorage.getItem(key));
console.log(dataArrayNew.title);
//lengtharray = dataArrayNew.length;
//console.log(lengtharray);
//return JSON.parse(localStorage.getItem(key));
});
var $table = $("<table></table>");
for(i=0;i<dataArrayNew.length;i++){
var array_no = dataArrayNew[i];
var $line = $("<tr></tr>");
$line.append($("<td></td>").html(array_no.title));
$table.append($line);
console.log(dataArrayNew.title);
}
$table.appendTo(document.body);
}
あなたの '.map()'コールバックには 'return'文がありません。そうすべき。 '.map()'の後に 'console.log(dataArray)'を追加すると、その理由がわかります。 – nnnnnn
返信文のコメントを外して、提案した内容を追加しました。私はこれを私のコンソールで見ることができます - 'https://www.dropbox.com/s/nexj0maebb3xm35/Screenshot%202017-05-17%2008.36.13.png?dl = 0'でもループが効かない場合 – user2828442
タイトルをクリックすると、配列から対応するIDを取得するにはどうすればいいですか – user2828442