並び順

ブックマーク数

期間指定

  • から
  • まで

1 - 40 件 / 51件

新着順 人気順

配列の検索結果1 - 40 件 / 51件

  • TypeScript 5.5で型述語を推論できて最高。配列のfilterも型安全に

    TypeScriptの次バージョン5.5で、開発者が長い間求めていた挙動が手に入ります。 現状のTypeScript (執筆時点で5.4)では、ユーザー定義型ガードを使う際には型述語(用語は後ほど解説します)の記述が必要です。 function isNumber(value: number | string): value is number { return typeof value === 'number'; }

      TypeScript 5.5で型述語を推論できて最高。配列のfilterも型安全に
    • Array.prototype.with による不変の配列の更新  |  Blog  |  web.dev

      最近、配列に対して呼び出すことができる新しい相互運用可能なメソッド Array.prototype.with() がブラウザに追加されました。 この記事では、このメソッドの仕組みと、元の配列を変更せずに配列を更新する方法について説明します。 Array.prototype.with(index, value) の概要 Array.prototype.with(index, value) メソッドは、指定された新しい value に index を設定して、呼び出された配列のコピーを返します。 次の例は、年齢層の配列を示しています。配列の新しいコピーを作成し、第 2 の年齢を 15 から 16 に変更します。 const ages = [10, 15, 20, 25]; const newAges = ages.with(1, 16); console.log(newAges); // [1

        Array.prototype.with による不変の配列の更新  |  Blog  |  web.dev
      • JavaScriptの小技集 - Qiita

        はじめに 初投稿です。 知ってたら便利になる小技が無かったのでまとめました。 「小技が知りたい...だけど検索しても出てこない...!」 そういう時に役立ちます。 比較的古いバージョンのJSでは一部の小技が使えないかもしれません。 随時追加予定です。他に小技をご存じの方はコメント欄にGO。 おことわり この記事は、あくまで"こんなやり方もあるよ"と紹介しているだけなので、何でもかんでもこれらの小技を使うと、かえってコードの可読性を下げる可能性があります。コードサイズと可読性を天秤にかけてどちらが良いかを都度確認しましょう。 記事内の間違った部分の指摘等はこの記事のコメントや編集リクエストでして下さい。 当方コードゴルファーなので、バイト数短縮小技も入れていることをご了承ください(一応該当する節には*をつけています)。 配列 配列の重複した値を削除1 const meta = ["foo",

          JavaScriptの小技集 - Qiita
        • 【TypeScript/JavaScript】配列操作reduce()を救いたい。 - Qiita

          Array.prototypeのreduce()メソッド。 苦手な方や、ややこしいから使わないようにしているという方もいるかな、と。 確かに、他のmap()やfilter()、sort()などと比べるとちょっと難解な感じありますよね。 また、一方では、reduceマジ最強と思ってる方もいると思います。 確かに、集計することも新たな配列を作ることも何でもできますもんね。 そんな避けられたり奉られたりなreduce()について、本当はどんなメソッドなのか自分なりの解釈を書きたいと思います。 (追記:ありがたいことに色々と有益なコメントを頂いているのでそちらも是非ご参照ください。) reduce()とは reduce() メソッドは、配列のそれぞれの要素に対して、ユーザーが提供した「縮小」コールバック関数を呼び出します。その際、直前の要素における計算結果の返値を渡します。配列のすべての要素に対し

            【TypeScript/JavaScript】配列操作reduce()を救いたい。 - Qiita
          • 「もう1年以上JavaScript書いてるのに、どっちがshiftなのか覚えられないんだけど?!」 - Qiita

            shift() / unshift() is 何? JavaScriptには、配列の末尾に要素を追加するArray.prototype.push()と、末尾から要素を取り出すArray.prototype.pop()メソッドがあります。これ自身はJavaScriptのメソッド名である以前にスタック操作の用語であり、また語の持つイメージとしてもわかりやすい気がします。 一方、配列の先頭に要素を追加するArray.prototype.unshift()と、先頭から要素を取り出すArray.prototype.shift()はどうでしょうか? お...覚えられない...🌋!!!せめて取り除く操作はdequeueであってくれ...🥺 (ggれば一瞬だからそもそも覚える必要がないとか、そんな悲しいこと言わないでください) かくいう私も一向に覚えられず、MDNとエディタを往復する日々を過ごしていま

              「もう1年以上JavaScript書いてるのに、どっちがshiftなのか覚えられないんだけど?!」 - Qiita
            • 空の配列に対するmaxは何を返すか - きしだのHatena

              ちょっと前に「配列中のすべての要素が条件を満たすかどうか判別する関数で、空の配列はTrueを返すべきかFalseを返すべきか」のような話が話題になってました。 まあこれは「Trueを返す」が答えなわけですが、では「配列中の最大値を返す関数で空の配列の場合は何を返すか」が気になりました。 「配列中のすべての要素が条件を満たすかどうか判別する関数」について言えば、簡単に言えばこんな感じ。 まず、配列のすべての要素が偶数であるかどうか判別する関数を考えます。 void main() { int[] data = { 23, 44, 12, 98, 5 }; System.out.println(allEven(data)); } boolean allEven(int[] data) { for (int n : data) { if (n % 2 != 0) return false; } r

                空の配列に対するmaxは何を返すか - きしだのHatena
              • PHP入門ガイド:組込関数詳細解説|Yuu's Memo

                PHPは、広く使われるプログラミング言語の一つであり、色々な関数を提供しています。この記事では、PHPの文関数について実践例を交えて詳しく解説し、実践的なテクニックとともに紹介します。PHPの特に配列操作や文字列操作をマスターすることは、Web開発を行なっていくのに必須の知識となります。 また、メモリの最適化や高速化方法など入門者だけでなく、実際に開発でPHPを使用している方にも役に立つ情報を書いていきたいと思います。 文字列操作関数の詳細解説 – 実践的なテクニックを解説 文字列はPHPが扱うデータ型の一つ 文字列型(string) であり、文字が連結されたものです。PHPにおいて文字列の最大長は2GB(2,147,483,647 byte)です。 PHPでは文字列を指定する方法が4種類あります。文字列リテラル(文字列の値そのもの)を、「’ (シングルクォート)」「” (ダブルクォート)

                  PHP入門ガイド:組込関数詳細解説|Yuu's Memo
                • PHPの最高機能、配列を捨てよう!! / Throw away all PHP array now!!!

                  At: PHPerKaigi 2023 ( https://phperkaigi.jp/2023/ ) Track A DateTime: 2023/3/25 10:20 (40min) Speaker: uzulla

                    PHPの最高機能、配列を捨てよう!! / Throw away all PHP array now!!!
                  • あなたが知らないであろう15個の強力なJavaScriptのテクニック🗡🔈🔥

                    はじめに この記事はこちらの記事の和訳となります。 なお、著者には許可をいただいております。是非原文もご覧ください。 拙訳なので、ご指摘などあればお待ちしております。 Javascriptのバグ修正や答えを求めてGoogleやStackOverflowを探し回るのは楽しくないでしょう🏴‍☠️。 この記事では、生産性⚡を最大化し、苦痛🩸を最小化する、20個(訳註:正確には15個)の短く、パワフルなJavaScriptのテクニックを紹介します。 それではコードを見ていきましょう🤘 配列の重複を除去 配列から重複した要素を除去します。 const arr = ["a", "b", "c", "d", "d", "c", "e"] const uniqueArray = Array.from(new Set(arr)); console.log(uniqueArray); // ['a',

                      あなたが知らないであろう15個の強力なJavaScriptのテクニック🗡🔈🔥
                    • JavaScriptのArray.prototype.join()のデフォルト引数 - Qiita

                      すぐに読めます。 導入 先日、JavaScriptのbuilt-in objectのArray.prototype.join()の仕様を理解していなかったことでかなり初歩的なバグを産み出しかけました。 本文 具体的には、デフォルト引数の存在です。 以前は「引数で受け取った値でArrayインスタンスの全要素を結合してできた文字列を返す非破壊的なメソッド」だよね〜くらいの理解だったのですが、このメソッドはデフォルト引数に,を持ちます。上記のMDNのサンプルコードをそのまま借用します。 const elements = ['Fire', 'Air', 'Water']; // case1 console.log(elements.join()); // Expected output: "Fire,Air,Water" // case2 console.log(elements.join('')

                        JavaScriptのArray.prototype.join()のデフォルト引数 - Qiita
                      • JavaScriptの配列メソッド: オブジェクトの配列を扱うときに役立つ便利な配列メソッドを分かりやすく解説

                        JavaScriptでオブジェクトの配列を操作するためにもっとも有用な配列メソッドとコードを紹介します。 JavaScript Array Methods: A Comprehensive Guide by Luca Spezzano 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに filter()メソッド: オブジェクトの配列からキーstatusがactiveと等しいオブジェクトの配列を取得する find()メソッド: 配列内から特定のidを持つオブジェクトを検索する findIndex()メソッド: 配列内の特定のキーを持つオブジェクトのインデックスを検索する reduce()メソッド: オブジェクトの配列内にある特定のキーの値を合計する map()メソッド: オブジェクトの配列内に含まれる特定のキーに対応する一意

                          JavaScriptの配列メソッド: オブジェクトの配列を扱うときに役立つ便利な配列メソッドを分かりやすく解説
                        • PHPからJavaScriptにデータを受け渡すときに考えること - Qiita

                          PHPのstringは任意のバイト列を扱えますが、JavaScript/JSONはUnicodeで扱える文字しか扱えません PHPのint / floatはプラットフォーム依存ですが、JavaScriptのnumberは整数と小数を型レベルで区別しません JSONのarrayに対応する型はPHPのarrayのうちリストであるものです PHPは配列(リスト)と連想配列を型レベルで区別せず、どちらもarrayです リストはキーが0からの抜けがない連番になっている要素が0個以上の配列です array_is_list()関数で連想配列とリストを判別できます array_values()で連想配列をリストに変換できます array_filter()の結果はフィルタされたキーがスキップされるのでリストではありませんが、結果をarray_values()に通すことでリストにできます JsonSerial

                            PHPからJavaScriptにデータを受け渡すときに考えること - Qiita
                          • とっても楽しいキーボード配列の世界

                            こんにちは、トドケールでフロントエンドエンジニアをやっているてんかわと申します。 ハッカー飯でスプラトゥーンばっかやってる人として認知してもらえると嬉しいです。 定期的にプラべを開催しているので、是非ともコミュニティに参加お願いします! 今回はキーボードの話。 キーボードといえば「メカニカルの青軸が最強」とか、「パンタグラフのパチパチが至高」とか、キーボードの打ち心地が話の中心になりがちだと思います。 なので、今日はまた違ったキーボードの沼をご紹介できればと思います。 キーボード配列の世界?? キーボードの配列って聞くと、おそらくみなさんは「JIS 配列」「US 配列」の話を思い浮かべるんじゃないかなと思います。

                              とっても楽しいキーボード配列の世界
                            • TypeScriptにおける配列の共変性

                              const animal: Animal = { animal: "string", }; const dog: Dog = { animal: "string", dog: "string", }; いま,Dog <: Animalです. <:という記号は2つの型のあいだに書いて,「左の型が右の型のサブタイプである」と読みます. TypeScriptの型システムは構造的なので,2つのオブジェクトがサブタイプ関係にあるには,それらに共通するプロパティについてもまた,サブタイプ関係が必要1です. 今回の例では,DogとAnimalに共通するanimalプロパティについてstring <: stringなのでOKです. TSでは,S <: TならばT型の変数にS型の値を代入できます. つまり,Dog <: Animalなので Animal型の変数にDog型の値を代入できます.

                                TypeScriptにおける配列の共変性
                              • ローマ字入力に最適なキー配列を考える(比較編)|大西拓磨

                                QWERTYに反抗した古今東西のオルタナティヴ配列の哲学を汲みながら、100万字を解析して日本語ローマ字入力の最適化を考えた「大西配列」の実力を確かめる。 比較方法Keyboard Layout Analyzer(KLA)というウェブアプリを使う。 解析する入力には、大西配列の制作過程で集めた青空文庫の100万字*を用いる。 ただし、各配列で明らかに打ちやすくなる代替入力がある場合(例:M式は「ji」より「zi」)、入力をそちらに修正して個別に解析を行った。 また、「ai」などのキーが存在する拡張配列については、Google IMEなどのローマ字テーブル追記で実装した想定で、打鍵する位置のキーに入力をすべて置き換えて解析した。それによって入力字数そのものが減じる場合、総合スコア**を入力字数の変化率で割ったものを補正スコアとして評価する***。 * 文体の新しさと多様性を考えて選んだ、 ・

                                  ローマ字入力に最適なキー配列を考える(比較編)|大西拓磨
                                • 【挑戦状の正解発表&解説】配列の要素を増やすには?〜面白解答も紹介〜 - Qiita

                                  先日、Twitter上でこんなクイズを出題しました ↓こちらです。 この記事では、クイズの正解発表をして行きます。 クイズの内容 クイズの内容は以下です。 【JSクイズ】 /* ここに回答を書いてください */ の部分を埋めてくださいやで! const array1 = [1, 2, 3, 4, 5, 6] const array2 = array1./* ここに解答を書いてください */ console.log(array2) // -> [1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6] 要は、 [1, 2, 3, 4, 5, 6]という配列から [1, 1, 1, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6]という配列を生成するには どうすればいいのか? という問題です。 もう少し要約すると、 array1という配列の

                                    【挑戦状の正解発表&解説】配列の要素を増やすには?〜面白解答も紹介〜 - Qiita
                                  • 構文のことは忘れて、JSON, S式, XMLのデータモデルを比較する

                                    データをシリアライズするには、独自のフォーマットを定めるよりも、基本的な定義済みの構造を組み合わせてフォーマットを作るほうが望ましい場合が多いです。 そのような仕組みとしてJSON, S式, XMLなどが存在しますが、これらは 「基本的な構造」として何を選ぶか、という観点からそれぞれに個性を持っています。 本記事では、具体的な構文のことは基本的に忘れて、各フォーマットが採用するデータモデルの違いに焦点を絞って比較します。 JSON data JSON = Value data Value = -- Compounds Array [Value] | Object (Map String Value) -- Scalars | Null | Boolean Boolean | String String -- UCS-2 | Number IntegerOrFloat -- no NaNs

                                      構文のことは忘れて、JSON, S式, XMLのデータモデルを比較する
                                    • useStateで配列要素を追加・削除・変更する方法 - Qiita

                                      はじめに 今回はuseStateで配列を更新する方法について紹介していきます。(個人開発の備忘録も兼ねているので、何か気づいたことがあれば教えていただけると嬉しいです。) useStateで配列要素の更新を行う場合、pushなどを使用すると再描画が走りません。理由についてはこちらに詳しく解説がありました。 Reactではstateの値が変化した時にコンポーネントが再描画されます。 stateの値の変化を、Object.is() で判定しているとのことです。なので、pushやspliceでは前回と同じ値と判定されるそうです。 そのため、pushなどは使用せずに、新たに配列を作成して保存する必要があります。

                                        useStateで配列要素を追加・削除・変更する方法 - Qiita
                                      • 「6年解けなかった構造があっさり」──タンパク質の“形”を予測する「AlphaFold2」の衝撃 GitHubで公開、誰でも利用可能に

                                        米Alphabet傘下の英DeepMindが、遺伝子配列情報からタンパク質の立体構造を解析するAI「AlphaFold v2.0」(以下、AlphaFold2)をGitHub上で無償公開し、ネット上で注目を集めている。Twitterを利用する生物系の研究者からは「革命的な成果だ」「これからの研究の前提が変わっていく」など、AlphaFold2の予測精度に対して驚きの声が相次いだ。 なぜAlphaFold2はこれほどの驚きや賞賛をもって迎えられているのか。タンパク質構造解析の難しさをひも解く。 未知の部分が多いタンパク質の構造 タンパク質は数十種類のアミノ酸からできており、配列によってさまざまな性質に変化する。例えば筋肉、消化酵素、髪の毛はそれぞれ役割が異なるが、いずれもタンパク質で作られている。タンパク質の構造が分かれば、生体内の化学反応の理解が進む。アルツハイマー型認知症やパーキンソン病

                                          「6年解けなかった構造があっさり」──タンパク質の“形”を予測する「AlphaFold2」の衝撃 GitHubで公開、誰でも利用可能に
                                        • ゼロから作る時系列データベースエンジン

                                          軽量な時系列データベースエンジンをスクラッチで開発する機会があったので、どのように実装したのかを必要知識の解説を交えながらまとめていきます。 実装はGo言語によるものですが、本記事のほとんどは言語非依存な内容となっています。 モチベーション 筆者は時系列データを扱うツールをいくつか開発しています。その中の一つであるAliは負荷テスト用のcliツールで、メトリクスをクライアント側でリアルタイム描画できるのが特徴です。リクエスト毎にレイテンシーなどの計測結果が際限なく書き込まれてくる中、同時に一定のクエリパフォーマンスが求められます。 これは言ってしまえば、簡易クエリ機能付きのpush型モニタリングシステムを単一ホストで実現するようなものです。 以前までの実装ではヒープ上の可変長配列にデータポイントを追加していくだけだったので、当然ながら時間の経過とともにメモリ使用量が増加していく問題を抱えて

                                            ゼロから作る時系列データベースエンジン
                                          • 池田 泰延 on Twitter: "JavaScriptの配列操作。 調べるのがいつも面倒なので、利用頻度の高いものをまとめました。 「もとの配列を変化させない」ことがポイント。 https://t.co/EXU0EoTK8L"

                                            JavaScriptの配列操作。 調べるのがいつも面倒なので、利用頻度の高いものをまとめました。 「もとの配列を変化させない」ことがポイント。 https://t.co/EXU0EoTK8L

                                              池田 泰延 on Twitter: "JavaScriptの配列操作。 調べるのがいつも面倒なので、利用頻度の高いものをまとめました。 「もとの配列を変化させない」ことがポイント。 https://t.co/EXU0EoTK8L"
                                            • 知っておくと実装に役立つ!JavaScriptのテクニックのまとめ

                                              デベロッパーのコミュニティには、実装に役立つテクニックやヒントが満載です。その中から特に有用なJavaScriptのテクニックとヒントを紹介します。 8 JavaScript Tips & Tricks That No One Teaches 🚀 by Garvit Motwani (@GarvitMotwani) 下記は各ポイントを意訳したものです。 ※当ブログでの翻訳記事は、元サイト様にライセンスを得て翻訳しています。 はじめに 1. JavaScriptにおける機能継承 2. .map()の置換 3. 数値から文字列に、文字列から数値に 4. lengthを使用して配列のサイズを変更したり、空にする 5. 配列の分割で値を入れ替える 6. 配列から重複を削除する 7. ループのコードを少なくする 8. パフォーマンス 終わりに はじめに JavaScriptは世界で最もクールな言語

                                                知っておくと実装に役立つ!JavaScriptのテクニックのまとめ
                                              • PHPerのための配列処理100本ノック

                                                はじめに 「配列」は、プログラミング初学者の最初の関門のひとつであり、 そして一生の付き合いでもあります。 本記事は、PHPで配列を操作する演習問題集です。 ここに掲載している問題は全て for / foreach を使えば解けます。 初学者の方は、すぐにスマートな方法が思いつかなければ、 まずは for / foreach を使って解決してみてください。 それだけでも、十分配列の理解は深まります。 ただし、ここに掲載している問題は全て for / foreach を使わずに解けます。 ステップアップを目指す方は、ループ処理を使わない方法も考えてみてください。 使用方法 各問題のソースコードを手元のエディタに全文コピペします。 末尾の var_dump() の出力が、コメントの通りになるように、 // SOME CODE HERE // の箇所に、 処理を記述してください。 難易度:低 問

                                                  PHPerのための配列処理100本ノック
                                                • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

                                                  PHPとPythonとRubyの連想配列のデータ構造がそれぞれ4〜5年ほど前に見直され、ベンチマークテストによっては倍以上速くなったということがありました。具体的には以下のバージョンで実装の大変更がありました。 PHP 7.0.0 HashTable高速化 (2015/11) Python 3.6.0 dictobject高速化 (2016/12) Ruby 2.4.0 st_table高速化 (2016/12) これらのデータ構造はユーザーの利用する連想配列だけでなく言語のコアでも利用されているので、言語全体の性能改善に貢献しています1。 スクリプト言語3つが同時期に同じデータ構造の改善に取り組んだだけでも面白い現象ですが、さらに面白いことに各実装の方針は非常に似ています。独立に改善に取り組んだのに同じ結論に至ったとすれば興味深い偶然と言えるでしょう2。 本稿では3言語の連想配列の従来実

                                                    PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記
                                                  • TRONキーボード製作のあれこれ

                                                    この記事は、キーボード #1 Advent Calendar 2020の10日目です。TRONキーボード製作した話のつもりで書き出してみたら、TRONキーボードの歴史・仕様についてのサーベイが中心の記事になりました。 9日目は、marksardさんのアルミトレイケースの不快な音を除去して「整音化」するでした。 10日目は、サリチル酸さんの削り出しに挑戦した話です。 12月は、クリスマスに向けてAdvent Calendarのシーズンですが、TRONファン界隈ではTRON Symposium -TRONSHOW-の季節でもあります。12/9-11開催中です! TRONキーボードを製作した経緯 もともと、TRONファンのBTRON(超漢字V)ユーザで、TRONキーボードのデザインが好きだったからということに尽きます。 TRONの坂村研に所属していましたが、研究室にTRONキーボードが何台かはあ

                                                      TRONキーボード製作のあれこれ
                                                    • JavaScriptのnew Array(n)をmapしたいとき fillをはさむ理由 - yucatio@システムエンジニア

                                                      経緯 配列をオブジェクトで初期化したい場合、 new Array(3).fill({foo: "ふう", bar:"ばあ"}) というコードだと、全てのインデックスが同じオブジェクトを指してしまうので、 調べたら new Array(3).fill().map(() => ({foo: "ふう", bar: "ばあ"})) という方法が出てきたので試したらうまく行きました。 疑問 このfill()要らなくない?new Array(3).map(() => ({foo: "ふう", bar: "ばあ"})) って書けばよさそうな気がします。 答え fill()は必要。 理由はここに書いてありますが、英語なので日本語で&自分で実行しながら書いていきます。 itnext.io まず、JavaScriptの配列は、実質的には数値をキーとしたオブジェクトです。 例えば、以下のように配列を初期化します

                                                        JavaScriptのnew Array(n)をmapしたいとき fillをはさむ理由 - yucatio@システムエンジニア
                                                      • JavaScript: コレクションオブジェクトのtoArrayを安全にする - Qiita

                                                        オブジェクト指向プログラミングには、「コレクションオブジェクト」「ファーストクラスコレクション」と呼ばれる、オブジェクトのリストをカプセル化したオブジェクトを作るテクニックがあります。 コレクションオブジェクトとは コレクションオブジェクトは、値オブジェクトの一種で、次のような特徴を持ったオブジェクトです。 特定のオブジェクトのリストである。 ビジネスロジックを持っている。 例えば、「商品コレクションオブジェクト」は、複数の「商品オブジェクト」を持ちます。ビジネスロジックとしては、商品オブジェクトの価格を合計して、合計金額を返すといった処理を持たせたりします。 JavaScriptでコレクションオブジェクトを実装してみる コレクションオブジェクトはJavaScriptに固有の概念ではありませんが、JavaScriptでも実装することができます。 例えば、記事のリストである、記事コレクション

                                                          JavaScript: コレクションオブジェクトのtoArrayを安全にする - Qiita
                                                        • 配列を征する者はJSを制す。JavaScriptのスマートな配列操作テクニック - ICS MEDIA

                                                          JavaScriptでコードを記述する際、配列の各要素について処理をするケースは頻出します。開発の現場で配列操作の処理を見ていると、次のようなケースがよくあります。 配列の非破壊の望まれる場面が増えているが、元の配列を破壊操作している filter()やevery()など配列のメソッドで書けるところを、forEach()メソッドやfor ... of文を使ってコードを記載し、冗長になっている 記述しても効果のないArray.from()を使用している コード的には問題なく、アプリケーションは意図的に動作しているかもしれません。しかし、冗長な記述は可読性が低下し、予期せぬバグを誘発する可能性があるでしょう。 本記事では、配列操作でよく見かける冗長な記述を、簡潔な記述で置き換える方法について解説します。 本記事で紹介するJavaScriptの配列操作のチートシートを用意したので、まとめて読みた

                                                            配列を征する者はJSを制す。JavaScriptのスマートな配列操作テクニック - ICS MEDIA
                                                          • 【JavaScript】配列の比較を行う方法【equals相当/Array型の等価判定】

                                                            JavaScriptの配列型にはequalsメソッドが存在しません。また比較演算子による比較は、等価の判定に対応していません。 [1, 2] == [1, 2] // false [1, 2].equals([1, 2]) // Uncaught TypeError: [1,2].equals is not a function at <anonymous>:1:8 配列同士の比較を行うためには、各要素を個別に比較したり、配列を文字列化した結果を比較することなどが有効です。 目次 繰り返し文による要素比較(確実な方法) JSON文字列による比較(簡潔な方法。比較的厳格な比較) toStringによる文字列比較(簡易な方法。若干抽象的で曖昧な比較) 繰り返し文による要素比較 for文で個別に要素を比較するのがもっとも確実です。比較の際には!==演算子による厳格な比較が必要となります。!=によ

                                                            • PHP7から定数配列がOPcacheに乗るので巨大配列が使い放題という話 - hnwの日記

                                                              PHP 7.0のリリースから約5年が経過し、そろそろPHP 8.0のリリースも見えてきました。人によっては使い始めて5年目になるはずのPHP 7.xですが、いまだに新しい発見があったりして面白いですね。 本稿ではPHP 7.0から入った定数配列に関する性能改善について紹介します。 PHP 5時代は配列の組み立てコストが大きかった プログラミング上のテクニックとして、辞書データを連想配列としてプログラム中に記述し、これを必要に応じて使うというものがあります。たとえば次のコード例を見てみましょう。このような連想配列を持っておけば、プログラム中で国名コードをを扱う際に実在するかをチェックしたり、国名の日本語表記に変換したりといった処理ができるわけです。 <?php $country_name = [ 'jp' => '日本', 'us' => 'アメリカ合衆国', 'ru' => 'ロシア連邦'

                                                                PHP7から定数配列がOPcacheに乗るので巨大配列が使い放題という話 - hnwの日記
                                                              • PHP/Laravel5のRequestクラス覚え書き - Qiita

                                                                Webアプリケーションフレームワーク Laravel の Illuminate\Http\Request の書き方メモ。 リファレンス的なものです。 namespace App\Http\Controllers; use Illuminate\Http\Request; class UserController extends Controller { public function store(Request $request) { $name = $request->input('name'); // } } @extends('layouts.app') @section('body') <form method="POST" action="{{ route('XXXX') }}"> @csrf <input type="text" name="name" value=""> //

                                                                  PHP/Laravel5のRequestクラス覚え書き - Qiita
                                                                • JavaScriptで重複排除を自分で実装してはいけない(Setを使う) - Qiita

                                                                  若者とプログラミングをしていて非常にショックを受けたのだが「JavaScript 配列 重複 削除」で検索するとfilterとindexOfを使ったアルゴリズムが検索結果上位に出てくる。これはO(N^2)。計算量の概念がないというのはとても恐ろしい。Big Techがアルゴリズム偏重の試験を課すのは合理的だと確信した。 — 父🌒 (@fushiroyama) March 10, 2020 先日このようなツイートが流れてきたので、$O(N^2)$、つまり計算量が $N^2$ に比例するということの恐ろしさを簡単に書きます。 JavaScriptで配列から重複を排除するコード EcmaScript 2015から導入されたSetを使えばものすごく簡単に書けます。 const array1 = [1, 5, 3, 1, 5, 3]; const array2 = Array.from(new S

                                                                    JavaScriptで重複排除を自分で実装してはいけない(Setを使う) - Qiita
                                                                  • for...inとfor...ofの違い - Qiita

                                                                    var myTeam = { name: '本田', age: '33', birthplace: '大阪' } for( var item in myTeam){ console.log(item); } //name //age //birthplace

                                                                      for...inとfor...ofの違い - Qiita
                                                                    • 4歳娘「パパ、懐かしいJavaScript書いてるね!」 - Qiita

                                                                      リモートワーク中ワイ ワイ「お、社長からメールや!」 ワイ「また何か仕事をさせる気やな・・・!」 よめ太郎「(そらせやろ)」 ワイ「どれどれ・・・」 ["たかし", 37, 173, 75] ↑この配列を元にオブジェクトを作ってくれ。 配列の中の4つの値は、それぞれ名前・年齢・身長・体重やで。 ワイ「ふーん」 ワイ「何やこの意味わからん仕事」 ワイ「まあええか、やってみよ」 やってみる ワイ「まず、元の配列は・・・」

                                                                        4歳娘「パパ、懐かしいJavaScript書いてるね!」 - Qiita
                                                                      • PHP7.4の変更点

                                                                        このエントリーは、GMOアドマーケティング Advent Calendar 2018 の 【12/2】 の記事です。GMOアドマーケティングとしては初のAdvent Calendar参戦です。はじめにこんにちは。18年新卒で入社いたしました、GMOアドマーケティングのK.Kです。新卒研修を終え、現在はゴリゴリ業務に取り組んでいます。今回の記事では、弊社のプロジェクトGMOSSPのPHPのバージョンを、PHP7.0からPHP 7.2にバージョンアップしましたので、バージョンアップの際の対応内容に関してご紹介させていただきます。(引用元|https://secure.php.net/download-logo... (引用元|https://secure.php.net/download-logos.php) 目次 PHP7.4に関して 新機能 2-1. 型付きプロパティ 2-2. アロー関数

                                                                          PHP7.4の変更点
                                                                        • ES2019で追加されたflatMap()の使いどころ - Qiita

                                                                          はじめに ES2019のアップデートで配列のメソッドflatMap()が追加されました。 はじめてflatMap()を見たときは「これはどんなときに使うのだろう」と思いました。 私のようにflatMap()をいつ使うのかピンと来ていない方も多いと思います。 しかし調べていくうちに色々使える事がわかったので、flatMap()の使いどころをご紹介します。 flat()とは まず事前知識として同じくES2019で追加されたflat()について説明します。 flat()は配列のメソッドで、自身の配列の次元を1つ下げたものを返します。 const example1 = [ [1, 2, 3], [4, 5, 6], [7, 8, 9], ]; example1.flat(); // 実行結果:[1, 2, 3, 4, 5, 6, 7, 8, 9] const example2 = [ 1, 2,

                                                                            ES2019で追加されたflatMap()の使いどころ - Qiita
                                                                          • Array.prototype.findIndex() - JavaScript | MDN

                                                                            // アロー関数 findIndex((element) => { /* … */ } ) findIndex((element, index) => { /* … */ } ) findIndex((element, index, array) => { /* … */ } ) // コールバック関数 findIndex(callbackFn) findIndex(callbackFn, thisArg) // インラインコールバック関数 findIndex(function(element) { /* … */ }) findIndex(function(element, index) { /* … */ }) findIndex(function(element, index, array){ /* … */ }) findIndex(function(element, index,

                                                                              Array.prototype.findIndex() - JavaScript | MDN
                                                                            • 配列の先頭 / 末尾の要素を取得する[Javascript] - Qiita

                                                                              元の配列を破壊してもいいとき Array.prototype.shift() や Array.prototype.pop() を利用します。 const arr = [1, 2, 3, 4, 5] console.log(arr.shift()) // 1 console.log(arr) // [2, 3, 4, 5] console.log(arr.pop()) // 5 console.log(arr) // [2, 3, 4] Array.prototype.pop Array.prototype.shift 元の配列を破壊したくないとき 先頭の要素は添え字[0]、末尾の要素は添え字を[Array.length - 1]として取得できます。 それ以上に必要な場合はArray.prototype.slice() で必要な分だけ切り取ります。 Array.prototype.slice

                                                                                配列の先頭 / 末尾の要素を取得する[Javascript] - Qiita
                                                                              • JavaScriptの配列操作に役立つ13のヒントとトリック - Qiita

                                                                                以下はDuomly ( Webサイト / Twitter )による記事、13 useful JavaScript array tips and tricks you should knowの日本語訳です。 Duomlyはプログラミング学習コースを提供しているWebサイトです。 ただランディングページにたいしたことが書いてないので、詳細はよくわかりません。 ここはもう少し書いておいてほしいところ。 13 useful JavaScript array tips and tricks you should know 配列はJavaScriptで最も一般的な概念のひとつであり、内部に格納されたデータを操作する手段は多数存在します。 配列はJavaScriptの最も基本的なトピックであり、プログラミング学習パスの最初に学習するものだという前提のうえで、この記事ではあなたが知らないかもしれない、しか

                                                                                  JavaScriptの配列操作に役立つ13のヒントとトリック - Qiita
                                                                                • あるプログラマーが飲食店で注文するとき、「まず4つあって、」と"メモリの確保"から始めた話が面白い

                                                                                  norihitoishida @norihitoishida 某プログラマ氏がサイゼで注文する時「まず4つあって、」とメモリの確保から始めた話、何回聞いても笑ってしまう 2019-10-19 10:05:24 norihitoishida @norihitoishida 解釈をしたりしなかったりしています / ML ( NLP, anomaly detection, multimodality, AutoML ) / Factory Automation https://t.co/EVu6jNClhJ

                                                                                    あるプログラマーが飲食店で注文するとき、「まず4つあって、」と"メモリの確保"から始めた話が面白い