PowerShellの配列で代入とshallow copyとDeepCopyと
PowerShellで配列を操作する際に割とハマりがち? な気がする。 参照だったりShallowCopyだったりDeepCopyの話。 参照? Shallo Copy? Deep Copy? まず前提として。 PowerShellで配列を代入した場合は参照がコピーされる PowerShellで配列のcloneメソッドを利用するとShallowコピーされる...
View Article二次元連想配列 foreachで取り出す(Javascript)
Javascriptの二次元連想配列の要素をforeachで1つずつ取得する流れについて自身の理解を整理。 let NBA =[ {region:'oklahoma', team:'Thunder', player:'KD'},//キー値=[0] {region:'sanantonio', team:'Spurs', player:'parker'},//キー値=[1]...
View Article任意の回数繰り返してから次に行く配列の生成
任意の回数繰り返してから次に行く配列 次のような配列をRubyのワンクエリで作ろうとして頭を悩ませた。 # それぞれの数字をn回繰り返してから、1ずつ加算し、mまでの配列 [1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5] 先に結論 以下を考えました。(もっと良い解答があるようです) [*1..n].map{[*1..m]}.transpose.flatten # 例...
View Article配列のmapメソッドについて
配列データをmapメソッドを使って描画する際にReact、VueだとkeyにindexをセットしないとWarningが出ると思うのですが、このkeyに入れる値で、先日プルリクのレビューで新たな学びがあったので備忘録として記事にします。 レビューで指摘されたのは、 map()で、indexを使うのは、iteration対象(ループするもの)の値にkeyとして利用できるものがない場合のみにしましょう。...
View Article[Python]enumを使って多次元配列をするときの注意点
Background paizaスキルチェック のある問題を解いていたときに、2次元配列を使ってある区画の範囲に色を塗るといった処理が必要となりました。そこで各要素を列挙型を使ってみたのですが思った処理結果が出なかったので紹介します。 Initialize ここで色の列挙型と区画を初期化してみます。 class Color(Enum): WHITE = 0 RED = 1 GREEN = 2...
View ArticleJavaScriptの配列
配列とは 配列とは情報をしまっておくためのタンスのようなイメージです。 配列を作る方法 配列を作る方法は下のやり方です。 const array = new.Array(); const array = []; ⚫︎補足 arrayは配列です。 配列の書き方 配列の書き方をみていきます。 const scores = [100, 90, 70]; //数字を入れる const sportts =...
View Article配列操作:新しい配列をスプレッド構文でコピーし変数に代入後、変数自体を操作するvs 配列の展開と同時に配列操作する
はじめに 先日スプレッド構文を用いて配列を扱う学習を行っていた際に気がついたことがありましたので、書き残しておきたいと思います。 スプレッドした配列を変数に入れる、つまり配列のコピーを作ってから配列メソッドを実行する場合 と スプレッドした配列自体に配列メソッドを実行する のではどのような違いがあるのかについて調べました。 配列をコピーし、変数に格納した後、変数に対して要素を追加する const...
View Article【じぶんメモ】シェルスクリプトで配列を使ってみる
Alfredのワークフローで遊んでいます。スクリプトにzshを利用しているのですが、シェルスクリプト初心者なので自分のためにメモを残します シェルスクリプトで配列を使ってみる シェルスクリプトでは1次元配列のみサポートしていて、添字はブラケットで囲みます 変数名[添字] ※zshは添字は1から始まります 配列に値をセットする 添字をひとつずつ指定してセットできるのは当たり前ですね...
View Article2のN乗分2進数全パターンの配列を作成する
タイトルの通り、2^N分2進数配列を全パターン作成するアルゴリズムを紹介します。 文章では伝わりずらいので、コードで。 例えば2^2の場合、 index.js let list = [ [0, 0], [0, 1], [1, 1], [1, 0], ]; この2進数のすべてのパターンの配列を作成するには、2^N分配列の作成が必要になります。 この配列のメリット...
View ArticlePropTypes.array の役割
配列を受け付ける PropTypes.array // 受け付けるもの [33, 'こんにちわ', true] [{ name: '山田'}, { fruit: 'りんご' }] 配列であれば中身は気にしない。 そのため非推奨となっている。 配列の値の型もすべてチェックするなら、 arrayOfを使用する必要がある。 PropTypes.arrayOf(PropTypes.string) //...
View Article【Javascript】配列や連想配列をディープコピーして安全な配列を取得する。【JSON.parse, JSON.stringify】
自分用のメモとして残します。 Reactでstateで多次元の連想配列を参照する際は普通の代入ではなくディープコピーしないと、 大元のstateに格納した値(≒要素)がsetStateしてないのに変わってしまいます。 そのため、ディープコピーをしてあげることで安全に作業用の別配列として扱えるようにします。 やり方 JSON.stringify でjson文字列にしてから JSON.parse...
View ArticleRubyとPHPの比較(条件分岐、配列、ハッシュ)
この記事の概要 Rubyで学習を始めてPHPに言語チェンジをする人が一定数いるみたいなので そういった人達が参考にするための記事です。 こちらの記事の続きです。 https://qiita.com/Hashimoto-Noriaki/items/82beae9d3d6dac11e11c 比較 演算子などを使った比較の方法をみていきます。 PHPで値を調べる...
View ArticleJavascript 配列の破壊的メソッドと非破壊的メソッドに注意して配列操作を行う
配列の破壊的メソッドと非破壊的メソッドとは 非破壊的 元の配列を変更する メリット 一つの配列を操作するためメモリの消費を抑えれる デメリット 元の配列を変化させるため使いすぎたり、複雑な場合はバグの温床になりやすい 破壊的 元の配列を変更しない メリット 元の配列を操作しないため安全なコードを書ける デメリット 配列を新たに作り出してしまうため、大規模な配列操作に対してはメモリを大量に使う...
View ArticleVC++ でエクセルのセル範囲に配列データを書込む
概要 前々回、前回とVC++でエクセルを操作するプログラムを投稿しましたが、今回も引き続きVC++のプログラムでエクセルを操作します。 これまでは単体のデータの読み書きを行ってきました。複数のデータを扱うためには、ループで列と行を指定したセルを対象にすればいいのですが、これを大量に行うと非常に遅くなります。...
View ArticlePHPの配列のkeyをスネーク⇔キャメル変換する関数を作ってみた
コピペ用関数 functions.php //キャメル→スネーク変換 function convertStringIntoSnakeCase(string $string): string { return ltrim(strtolower(preg_replace('/[A-Z]/', '_\0', $string)), '_'); } //配列のkeyを全てキャメル→スネーク変換...
View Article配列に新たな要素を追加する方法(PHP)
配列に新たな要素を追加する方法(PHP) この記事ではPHPで配列を使う際、 配列の先頭に要素を追加する方法 配列の最後に要素を追加する方法 配列の適当な位置に要素を追加する方法 の参考になればと思います。 配列の先頭に要素を追加する方法 こちらが配列の先頭に要素を追加する方法です。 array_unshift() array_unshift()...
View Articlelocustで複数ユーザー実行でのユニークID的なものを割り振る
locustで各ユーザーにユニークなユーザーIDを割り振りつつ再実行する場合は同じユーザーを利用するのにハマったのでやり方を3パターン紹介します。 参考 locust公式GitHub locustドキュメント(Distributed load generation) 配列を使用したパターン...
View Article[Java:forループを使った配列]forループが終わった時に、変数に配列の値が適用される。
forループによるスコア集計のコードサンプル public class Main { public static void main(String[] args) { int[] scores = {40, 50, 70, 80, 30}; int sum = 0; for (int i = 0; i < scores.length; i++) { sum += scores[i]; }...
View ArticleVueへの配列の渡し方
目次 1.ブログ編集画面に、編集前記事の配列を表示させたい 2.map関数 Laravel + Vue.js で、Vue側に配列を渡す処理をアウトプットとして書いてみました。 1. ブログ編集画面に、編集前記事の配列を表示させたい 今回実装させたかった機能は、 ブログ編集画面で、編集前の記事のカテゴリを、編集画面のカテゴリ入力フォームに表示させたい! ということです。 Laravel 単体だと、...
View ArticleVC++ でエクセルのセル範囲から配列データを読込む
概要 前回 は配列データをエクセルのワークシートに書込みましたが、今回も引き続きワークシートのセル範囲を配列 (SAFEARRAY) に読込みます。 書込みと同様にセル範囲を指定して読込みますが、今回はデータが入力されているセル範囲を取得して読込みます。 読込んだデータはVARIANT型なのですが、その内容はVT_VARIANT | VT_ARRAYです。...
View Article