配列
小ネタです。 forEachは配列用のため、連想配列(ハッシュ)には通常使うことができません。そんなときにはObject.keys()を介すことで利用が可能になります。 const hash = { apple: 100, banana: 130, orange: 98 } const result = [ ] Object.keys(hash) .fo…
every()とsome()は配列内の要素をテストし、条件を満たしていれば最終的にtrue、満たしていなければfalseを返します。 /** * 偶数チェック */ const list = [1, 2, 3, 4, 5] const check = value => ((value % 2) === 0) // テストを行う const check1 = lis…
map()を利用すると、元になった配列の要素を順番に処理していき新しい配列を生み出すことができます。mapは元になった配列を変更しません。 /** * 2乗する */ const list = [1, 2, 3, 4, 5] const newlist = list.map( value => value * value) // [1, 4, 9,…
reduce()は配列内の値を順番に処理していき、最終的に1つの値を生成することができます。 /** * 配列の値をすべて足す */ const list = [1, 2, 3, 4, 5] const sum = list.reduce( (prev, current) => prev + current ) // 15 console.log(sum) returnした値…
filter()は配列の要素を順番にテストしていきtrueが返された要素だけの新しい配列を返却します。 /** * 配列から偶数だけを取り出す */ const list = [1, 2, 3, 4, 5] const newlist = list.filter( value => ((value % 2) === 0) ) // [2, 4] console.log(n…
Bashで特定のファイルを順番に処理したい場合、配列をforでぐるぐる回してやるのがお手軽です。ここでは配列listで定義した3つのファイルを順番に指定ディレクトリへコピーしています。 #!/bin/bash # 対象のファイル一覧 list=( /tmp/foo.txt /tmp/bar.txt …
「Perl大技林」一覧に戻る 配列に今どれだけの要素が詰まっているかカウントしたい。これには大きく二つの方法が用意されている。 「$#配列名」とする方法と、スカラー値として値を得る方法の二つがある。前者と後者で得られる値が違う点に注意すること。「$…
「Perl大技林」一覧に戻る 配列Aの内容を配列Bにそのままコピーしたいが、どうすれば良いだろうか? 単純に代入をしてやれば良い。 コピー先の配列に値が入っていた場合でもすべて上書きされてしまうので注意すること。もし配列の前か後ろに挿入したいのなら…
「Perl大技林」一覧に戻る 二つの配列を結合(連結)し、合体させたい。 pushとunshiftはリスト(配列)を渡せるのでそれを利用するのが良い。
「Perl大技林」一覧に戻る リスト(配列)内の数値をすべて合算した値を取得したい。 素直に計算する方法と、モジュールを利用する方法がある。List::Utilは5.8以上から標準モジュールとして用意されている(インストールする必要がない)。最近のPerlを使ってい…
「Perl大技林」一覧に戻る とあるリスト(配列)から最小値を取得するにはどうすれば良いだろうか? いろいろな方法が考えられるが、ここでは三種類ほどサンプルをしめす。各関数の処理をそれぞれ見ていただきたい。
「Perl大技林」一覧に戻る とあるリスト(配列)から最大値を取得するにはどうすれば良いだろうか? いろいろな方法が考えられるが、ここでは三種類ほどサンプルをしめす。各関数の処理をそれぞれ見ていただきたい。
「Perl大技林」一覧に戻る 配列の一部だけを簡単に置換してくれる関数がspliceである。 spliceは非常に柔軟であるがために最初はかなりとっつきにくい。その反面、まとめて配列の操作をしたくなった際には心強い味方になってくれる。引数の数によって動作が…
「Perl大技林」一覧に戻る 配列の先頭、または末尾から値を追加するにはpush、unshiftを用いれば良い。 先頭への追加はunshift、最後に追加するのはpushを用いる。
「Perl大技林」一覧に戻る 配列の先頭、または末尾から値を取り出すにはpop, shiftを用いれば良い。 先頭から取り出す時は「shift」、末尾から取り出す時は「pop」を用いる。注意する点としては、取り出した後その値は配列から取り除かれる(削除される)。な…
「Perl大技林」一覧に戻る リスト(配列)を逆に並べ替えるお手軽な方法はreverseを用いることだ。
「Perl大技林」一覧に戻る 配列を初期化するにはいくつかの方法がある。 ここでは代表的な方法を示す。
「Perl大技林」一覧に戻る 配列内の同じ値を取り除きたい。ハッシュを利用すればかんたんに実現できる。
「Perl大技林」一覧に戻る 配列(リスト)を順不同に並べ替えたい。 トランプで言う「シャッフル」、アルゴリズム的な用語を使うと「ランダムな順列」に該当する。 次のようなプログラムを記述すれば良い。
「Perl大技林」一覧に戻る 以下のような配列がある時、2番目の項目で並べ替えがしたい。 単純に sort @array しただけではできない。 @array = ( '1,b,c' , '3,c,b' , '2,a,a' ); ソート項目が数値の時にはorderByArrayNum、文字列の時にはorderByArrayStrを…
「Perl大技林」一覧に戻る 以下のようなコードを書くと、文字列として扱われてしまい、意図した結果にならない場合がある。 @array = ( 1, 2, 3, 4, 5, 10, 11, 12 ); foreach(sort @array){ print ; print "\n" }
「Perl大技林」一覧に戻る ※初出の日時が不明のため公開日は仮の日付です あるリストから、希望する条件に一致した値だけを取り出したい場合がある。for,while,foreachなどのループを使う方法以外に、効率の良いやり方が知りたい。
「Webプログラミング」バックナンバー 一覧に戻る 2002年06月10日発行 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ■Webプログラミング - academic.002 http://www.ichikoro.com/webp/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 【 Subject: C言語入門「配列を…