- Please write your code to run on the latest version of Chrome.
- Do not use libraries; please write your code using only the JavaScript specifications and APIs that are usable on the aforementioned browser.
- When exam.html is opened in the browser, the content of variable TABLE_DATA in json/data.js will appear as a table on the browser. Table column order should adhere to the order already written in exam.html.
- When button#start is clicked, table rows will randomly rearrange every second.
- The processing in 2 can be stopped when button#stop is clicked.
- When button#sort is clicked, rows will be sorted by price in descending order. If two or more prices are the same, rows will be sorted in ascending id order.
- Please write your code so as to avoid triggering unnecessary reflows and repaints.
- As long as your code fulfills the requirements, you may add other optional features or requirements.
- Download test.zip from this page and open it on your machine.
- You will find the files needed for this test. Edit js/app.js by writing code that fulfills the requirements above. You do not need to edit the other files.
- Once you are finished, compress all of the code (including js/app.js) into a zip file and upload it from the form below. Please note that you will be unable to upload files once time has run out.
- 最新のChromeで動作するようにコードを書いて下さい。
- ライブラリは使わず、上記のブラウザで使えるJavaScriptの仕様とAPIのみでコードを書いて下さい。
- exam.htmlをブラウザで開いた時、json/data.jsにある変数TABLE_DATAの内容がブラウザ上にテーブルとして表示される。テーブルのカラムの順番はexam.htmlにすでに書かれているものに従う。
- button#startをクリックしたとき、テーブルの行が1秒ごとにランダムに並び変わる。
- button#stopをクリックしたとき、2の処理を停止できる。
- button#sortをクリックしたとき、priceの降順でテーブルの行がソートされる。priceが同じ場合はidが昇順になるようにソートされる。
- 余計なreflow、repaintが発生しないよう作成してください。
- 要件を満たしていれば、機能、要件を任意で追加して構いません。
- このページからtest.zipをダウンロードし、あなたのマシン上で展開して下さい。
- 展開すると今回のテストに必要なファイルが入っています。js/app.jsを編集し、上記の要件を満たすコードを書いて下さい。それ以外のファイルを編集する必要はありません。
- 完成したらjs/app.jsを含む全てのファイルをzipで圧縮し、下のフォームからアップロードして下さい。
- アップロードには非常に時間がかかる場合があります。制限時間50分のうち、最後の10分をアップロード時間として確保して下さい。なお、制限時間を過ぎるとアップロードできなくなるので注意して下さい。