-5

宿題では、配列を作成する必要があります。それを実行しましたが、順序付きリストに並べ替える必要はありません。私の教授はサンプルコードを提供しておらず、順序付きリストに入れるのに役立つものをWeb上で見つけることができませんでした。ヘルプ!

具体的な方向性:外部JavaScriptファイルで、お気に入りの本のタイトルを含む配列を作成します(必要に応じてタイトルを作成できます)。ページが読み込まれたら、JavaScriptを使用してWebページのタイトルを順序付きリスト内に表示します。ブックリストは可変であるため、リストは動的に確立する必要があります。ドキュメントオブジェクトのwriteメソッドを使用するか、要素のinnerHTMLプロパティを変更します。

私は持っています

var books = new Array();
books[0] = "Fifty Shades of Grey";
books[1] = "Twilight";
books[2] = "The Notebook";
books[3] = "Dear John";
books[4] = "Demon in my View";

var bookList = books.sort();
document.write(bookList);

しかし、それはコンマでのみソートされます:(

4

3 に答える 3

3

配列は既にソートされています。各本を に印刷し<li>、HTML をリストに追加するだけです。

コンマが表示される理由は、渡されるオブジェクトdocument.write(boooks)document.write呼び出しが配列として実装されており、デフォルトのセパレータがコンマであるためです。toStringtoStringarray.join()

<ol id="books">
</ol>​

// This looks much nicer a separate call for each array member
var books = [
   "Fifty Shades of Grey",
   "Twilight",
   "The Notebook"
];

var html = "";
for (var i =0; i < books.length; i++) {
    html += "<li>" + books[i]+ "</li>";
}
document.getElementById("books").innerHTML = html;​

サンプル http://jsfiddle.net/nkQLM/1/

于 2012-09-26T17:32:41.263 に答える
2

リストのHTMLコードを文字列の周りに配置するだけです。

document.write('<ol><li>'+bookList.join('</li><li>')+'</li></ol>');

演習を少し超えていますが、このようにページにコンテンツを配置すると、文字列に、、、などのHTMLコードで特別な意味を持つ文字がないことを前提として<>ます&。理想的には、要素オブジェクトを作成し、それらにテキストを配置してから、それらをドキュメントツリーに追加します。たとえば、jQueryライブラリを使用します。

ページに要素を配置します。

<ol id="list"></ol>

準備完了イベント(またはリストの下のスクリプトタグ)で、リスト要素をリストに配置します。

$.each(booklist, function(){
  $('#list').append($('<li/>').text(this));
});
于 2012-09-26T17:43:09.157 に答える
1

いいえ、配列をカンマでソートしていません。デモ

document.write(bookList); bookListを呼び出しているときに 、アイテム間の「,」の自動挿入によって文字列に変換されます

join次のように(私の例ではスペース を使用して)コンマを置き換えることができます

document.write(bookList.join("  "))

オーダーリストを生成したい場合は、次のコードを使用してください

変数html ="<ol><li>"+ bookList.join('</li><li>') + "</li></ol>";

于 2012-09-26T17:37:53.400 に答える