2016-12-19 4 views
0

私は就職の面接のためにコーディングのチャレ​​ンジを与えられました。私がどこに間違っていたかを助けてくれるよい行為者がいるかどうか確認したいと思います。私は誰にも同じように感じるかどうかを知りたいので、尋ねられていた一般的な質問を理解できませんでした。これは全体の質問です:HTMLのこのマージ配列を理解したいと思います

簡易版の要素を表現するために配列を用いて表現することができます:タグ名•

[tagName, child1, child2, ...] 

は常に配列の最初のエントリで、文字列です。 •子は配列または文字列のいずれかです。 •子が文字列の場合、HTMLマークアップではなくプレーンテキストとして扱われます。 •子が配列の場合、それはネストされた要素として扱われます。 •属性やコメントなどの要素やテキストだけはサポートされていません。 配列をとり、HTML文字列を生成するJavaScript関数を実装します。 •空のタグは自動的に閉じるべきです。 •連続したテキストノードは、完成した出力にマージされます。 •ライブラリ、ビルドプロセス、またはトランスパイライザはありません。 例:

<html> 
<head> 
<title>title here</title> 
<meta charset="UTF-8"> 
<meta name="description" content=""> 
<meta name="keywords" content=""> 

<style> 
div{ 
background: yellow; 
} 
    </style> 
</head> 
<body> 
<section> 
<h1>I am a <br>header</h1> 
<p id="demo"></p> 
<div></div> 
</section> 
<script> 
document.getElementById("demo").innerHTML = 
"The title of this document is: " + document.title; 
</script> 

<script> 

VARラッパー=のdocument.createElement( "DIV");:

['div'] => '<div/>' 
['h1', 'Text'] => '<h1>Text</h1>' 
['span', 'More', 'Text'] => '<span>MoreText</span>' 
['a', ['b', 'More'], ' Text'] => '<a><b>More</b> Text</a>' 
['p', '<b>Text</b>'] => '<p>&lt;b&gt;Text&lt;/b&gt;</p>' 

私の答えは以下の通りでした

wrapper.appendChild(document.createTextNode("Part 1 ")); 
wrapper.appendChild(document.createTextNode("Part 2 ")); 

// At this point, wrapper.childNodes.length === 2 
wrapper.childNodes[0].textContent === "Part 1 " 
wrapper.childNodes[1].textContent === "Part 2 " 

wrapper.normalize(); 

// Now, wrapper.childNodes.length === 1 
wrapper.childNodes[0].textContent === "Part 1 Part 2 " 

    </script> 
</body> 
</html> 

私のテキストがマージされていないことがわかりました。私は残りの要件に従ったと思った。要件を理解するのが少し難しかった。どんなコメントも大歓迎です。

+1

少し混乱します。あなたは、ページを記述する配列と配列からページを生成することに関してあなたの質問を始めますが、私はそのような配列をあなたのロジックのどこにも見ません。 – Taplar

答えて

0

だから私は、質問は配列を受け取る関数を記述し、あなたに

  • を求めていると思います。
  • 配列には文字列またはタグ(div、pなど)を含めることができます。
  • 配列を反復し、dom、要素および文字列に追加する関数を記述します。
  • あなたは常にコンテナとして、最初のタグ名を取得しようとしている、以下のすべてのものは、最初のタグの内側にあるべき[DIV、「ちょっと」、P「段落」] =>

    div hey p paragraph p div

    がいることをいもっと理にかなって、それは私が質問をどのように解釈しているかです。 <>を取り出す必要があったので、フォーマットがより明確になりました。
+0

説明をいただきありがとうございます。すべての違いを生むことができる小さなもの!あなたが私が質問を読んでいないところを指摘するまで、私はそれを完全に見ていませんでした。たくさんの:) – user116217

関連する問題