数学、電気の勉強始めました!プログラムにも挑戦しています!|ω・)ノ

ねごとめも背景

# ねごとめも

# カウンター

# プロフィール

negotoy

Author:negotoy
電気の勉強始めました!
テキストエディタを使ってプログラミングに挑戦中。
fc2 ブログに公開しているテンプレート等は、自由にカスタマイズして、ご活用ください。
プログラム実行の前に必ずコードの確認をお願いします。

# 最新記事

# カレンダー

03 | 2017/04 | 05
- - - - - - 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 - - - - - -

# スポンサードリンク

{ <pre></pre> タグ版のテキストエディタ作成しました }


前回、 javascript で作成した、CSV データを Array 配列へ変換するプログラムに
JSON 型の変換の処理を追加しました。
CSV データを Array 配列へ変換、その配列を JSON 型へ再変換しています。

配列からの Object 変換の方法がわからず、さまよいました。
Object から 配列の方法は幾つも紹介されているけど、
配列から Object への変換方法が。。。
new Object("hoge") に値を代入してみたり、
{"hoge"} とやってみたり。。。
文字列が細切れになったりしました。_(:3」∠)_

配列を Object 型への変換方法は、こちらのサイトで紹介されています。
→ Javascriptで配列をオブジェクトに変換する!



前回作成した CSV データを配列へ変換する javascript に、
エスケープ処理?を追加しました。
囲み文字のないセルで区切り文字をエスケープすると区切り文字を無視、
囲み文字をエスケープすると囲み文字内の切り文字が有効になるようにコードを追加しました。

この処理は、使いようのない、無駄な処理のような。。。(*‘ω‘ *)

エスケープ処理をしてないプログラムは,こちらに置いてます。
→ { CSV データ を 配列 ( Array ) へ変換 }


CSV データ を Array 配列へ変換する javascript 書きました。
以前、 Java でも同じようなもの作って ブログ で公開した記憶があったから、
見直してみたけど、なにがなにやら、、_(:3」∠)_
すっかり、 Java のやり方忘れてしまっていた。
たしか、変数には型があったり、関数も型を宣言しなければいけなかったような。。。
Java で書いた CSV クラスを javascript に焼き直す予定でいたけど、
うまくいかなかった。
java で作成した CSV クラスでは、囲み記号が連続した場合の処理のやり方で、
苦労した記憶があったから、囲み記号の連続にも意味がある、と想像して
javascript 版では処理を省きました。

記憶違いかもしれないけど、 Java ではエスケープした文字と、
そうじゃない文字の区別がついたような。
javascript では、判別する方法が分からなかった。
エスケープした文字があった場合の文字の前にある
空白の削除は、したくはなかったんだけど。。。
削除する方向になってしまった。

Java 版と同じく javascript の CSV 関数でもセル内の改行に対応したつもりです。
Java の CSV クラスは不具合を修正する頭がないため、放置していたりします。

javascript 版の str.getCSVArray() 関数では、
シングル、ダブルクォーテーションがセル単位で混在していても配列を取得出来るように作成したつもりです。

CSV データにも、厳密な決まりがあるようだけど、それに準ずる物を作る力はない。ヽ(´ー`)ノ



JSON, Object のデータ を 配列 ( Array ) へ変換するプログラム書きました。
JSON 形式, Object 形式 と認識された時点できちんとしたデータになってる訳だから、
Array 配列にわざわざ変換するのは、無駄な処理のような。。。ヽ(´ー`)ノ

ちなみに、記事にする、このプログラムの前に、2 つ試作しています。
最初のは、そうでもなかったけど、二つ目は、処理のやり方が分からず、
コードが汚くなってしまった。
フラグ立てまくって、エラーが出たら、そのための分岐処理付け加えて、
読み込む、データ変えて、エラー出て、その繰り返し。
頭の中少し整理して作成したから、少しシンプルなコードを書くことが出来たと思う。

JSON 形式のデータをテキストエリアに貼り付け、
取得ボタンクリックで、 データを Array 配列へ変換します。
エラーが出る場合は、JSON 形式のデータになっていない可能性があります。
又、プログラムの欠陥の場合もあり。

実行結果は、コンソールへ出力されます。
F12 で確認出来ます。

このプログラムは、getComputedStyle() 関数を利用して html5 タグを、
ブロックレベル要素、インライン要素等に振り分けています。
セレクト、ラジオボタンの変更で、 html5.1 タグ一覧、ブロック要素、インライン要素等を、
配列、又はプレーンテキストで取得できると思います。
getComputedStyle() 関数の値を、いくつか確認した所、
css でスタイルの指定をすると、
この関数が返してくる値にも、その指定が反映されていました。

なので、この関数で要素の初期値のブロック、インラインを判定する場合、
css のスタイル指定はせず、確認したほうがよさそうです。
関数名に style って入ってるし、あたりまえかぁ。。。
このプログラムの値を使用する場合、再確認したほうが良さそうです。ヽ(´ー`)ノ

html5.1 のタグは、こちらのサイトで確認しました。 → W3C


# スポンサードリンク