タグ

配列に関するiwwのブックマーク (152)

  • jQuery.map() | jQuery API Documentation

  • 【jQuery】複数の要素・配列に対して処理をするmapの使い方 - TASK NOTES

    以前 jQuery の繰り返し処理について書きましたが(【jQuery】複数の要素に対して繰り返し処理をする(each・for) - TASK NOTES)、もうひとつ map というメソッドがあります。これは単純な繰り返し処理用ではないので前回のエントリからは外しましたが、使い慣れると非常に便利なのでまとめておきたいと思います。 今回使うサンプルのHTMLはこんな感じです。 <div class="hoge">ほげ1</div> <div class="hoge">ほげ2</div> <div class="hoge">ほげ3</div> ... jQueryのmapとは map とはマッチした要素数分を繰り返して指定した関数を実行し、その結果をまとめた新しいjQueryオブジェクトを返してくれます。簡単に言うと配列から別の配列を作るという事です。 .map( )メソッド var arr

    【jQuery】複数の要素・配列に対して処理をするmapの使い方 - TASK NOTES
  • Array.prototype.forEach() - JavaScript | MDN

    forEach() メソッドは反復処理メソッドです。指定された関数 callbackFn を配列に含まれる各要素に対して一度ずつ、昇順で呼び出します。 map() と異なり、 forEach() は常に undefined を返し、連鎖させることはできません。典型的な使用する用途は、チェーンの終わりで副次効果を実行することです。 callbackFn は値が割り当てられている配列インデックスに対してのみ呼び出されます。疎配列で空のスロットに対しては呼び出されません。 forEach() メソッドは呼び出し元の配列を変更しませんが、 callbackFn に指定された関数は変更することがあります。ただし、配列の長さは callbackFn を最初に呼び出す前に保存されることに注意してください。したがって、 callbackFn は forEach() の呼び出しを始めたときの配列の長さを超え

    Array.prototype.forEach() - JavaScript | MDN
    iww
    iww 2024/01/29
    『例外を発生する以外の方法で、 forEach() ループを止めたり脱出したりする方法はありません。そのような動作を行う場合、 forEach() メソッドは適切な方法ではありません』 配列を走査して見つけたら返る、とかには不向き
  • libgit2の内部データ構造: strmap - Qiita

    libgit2の内部ではハッシュテーブルが使われていたりしますが、C言語標準ライブラリにはハッシュテーブルはありません。ここで公開されている外部のライブラリkhash.hをラップして作られています。コードリーディングメモです。 khashとは何か MITライセンスですが、著者はプロフィールを隠しています。 このブログはanonymousなブログだ ... 俺は完璧主義者だ。もし、読者がこのブログを書いている私を知っているなら、 私は出来る限りすべてを完璧にし続けたいと思うだろう。 それは私を神経質にして、何を書くにしても疲れ果ててしまうだろう。 もし読者が私が誰かを知らないのであれば、自分を解放することができて、 心が赴くままに書き続けられるだろう。 (意訳) こういう厨二病な感じ、嫌いじゃないです。とはいえ、ちょっと古いですがここのエントリーに書かれているベンチマークの結果を見ると、トッ

    libgit2の内部データ構造: strmap - Qiita
  • 【PHP】配列の代入はクローンコピーになる

  • PHPで配列でpackを行う方法 引数のアンパッキング

    PHPでは配列を受け取らず、中身を展開した状態しか受け取らない関数が存在します。pack関数はバイナリを弄るときに使用する関数ですが、例えば1バイトの値が1024個入った配列をバイナリにしたいとき、 pack("C*", $array); と書いても正しく動作しません。 正しくは pack("C*", ...$array); このように書き、引数の配列をアンパッキングします。 この書き方を行うと、 $array=[0,1,2,3,続く]; のとき pack("C*", 0, 1, 2, 3, 続く); を実行したときと同じ挙動となります。 このように配列を展開したいという場合は意外と多いので、ぜひ覚えておきましょう。 ご覧いただきありがとうございました。

    PHPで配列でpackを行う方法 引数のアンパッキング
  • オフィス機器としてのQWERTY配列

    iww
    iww 2023/01/24
    『噂としては面白いが、全くのガセネタだ。1872 年時点の キー配列 (図 5) は「qwertyuiop」ではない』
  • 中央値の中央値 - Wikipedia

    中央値の中央値(ちゅうおうちのちゅうおうち、英: median of medians)とは、クイックセレクトに基づく選択アルゴリズムのことである。k番目に大きい要素を選択するための最悪計算時間が線形になることが特徴である。 このアルゴリズムでは、最初におおよその中央値を線形時間で探索し、その値をクイックセレクトでのピボット値とする。つまり、(漸近的な)おおよその中央値選択アルゴリズムを使って、(漸近的な)一般値選択アルゴリズムを構築したものである。 このアルゴリズムは、マヌエル・ブラムら[1]によって開発されたもので、著者の名字の頭文字を取ってBFPRTとも呼ばれる。この原著では中央値の中央値アルゴリズムをPICKと呼び、クイックセレクトをFINDと呼んでいた。 概要[編集] クイックセレクトは分割統治法であり、計算の各段階で、残っている探索対象の要素が個の場合にの計算時間を必要とする。そ

  • Array.isArray() - JavaScript | MDN

    // 以下の呼び出しはすべて true を返します Array.isArray([]); Array.isArray([1]); Array.isArray(new Array()); Array.isArray(new Array("a", "b", "c", "d")); Array.isArray(new Array(3)); // あまり知られていないものの Array.prototype は配列です Array.isArray(Array.prototype); // 以下の呼び出しはすべて false を返します Array.isArray(); Array.isArray({}); Array.isArray(null); Array.isArray(undefined); Array.isArray(17); Array.isArray("Array"); Array.is

    Array.isArray() - JavaScript | MDN
    iww
    iww 2022/10/03
    『あまり知られていないものの Array.prototype は配列です』
  • JavaScript で forEach を使うのは最終手段 - Qiita

    この記事は JavaScript2 Advent Calendar 2018 の1日目の記事です。 こんばんは。@diescake です。 今年は、JavaScript 経験の浅い新人さんや外注さんをリードする立場として、 とにかく幅広いメンバーのコードレビューをする機会に恵まれたのですが、 事ある毎に Array.prototype.forEach を利用する人が多かったため、初心者向けに要点を整理してみました。 以下 ES2015 以降のバージョンをサポートするブラウザ、あるいは polyfill を利用していることを前提としています。 結論 配列に対して何らかの操作を行う際は、 filter, find, map, reduce などのメソッドを利用できないか検討し、 いずれのメソッドでも実現ができない場合の最終手段として forEach を選択しましょう。 下記に、いくつかのサンプ

    JavaScript で forEach を使うのは最終手段 - Qiita
  • JavaScriptにおける連想配列のforループ操作 - Qiita

    概要 変数を連想配列に入れるのが大好きで、使用頻度がめちゃくちゃ高い割に毎回忘れる連想配列のforループ操作。 連想配列のkey-valueを順番に取得する let hash = { key0: "value0", key1: "value1" }; for (let key in hash) { alert('key:' + key + ' value:' + hash[key]); } 追記: コメント欄より このエントリは上記の短い記述に対し、当にやりたかったことを汲んだ知見が寄せられ大変勉強になりました。このエントリを参照するエントリもじわじわ増えており、(実である)コメント欄がスルーされてしまうのは勿体ないのでコメント欄の内容を再掲?します(2019.06.20) このエントリに連想配列の値参照・操作の方法を求めて辿り着いた方は是非コメント欄に目を通してください。 Consol

    JavaScriptにおける連想配列のforループ操作 - Qiita
    iww
    iww 2022/05/29
    jQueryの方が便利だな
  • PHP: array_map - Manual

    Getting Started Introduction A simple tutorial Language Reference Basic syntax Types Variables Constants Expressions Operators Control Structures Functions Classes and Objects Namespaces Enumerations Errors Exceptions Fibers Generators Attributes References Explained Predefined Variables Predefined Exceptions Predefined Interfaces and Classes Predefined Attributes Context options and parameters Su

    iww
    iww 2022/05/28
    配列に適用して戻り値で入れ替えるやつ。 trimとか用
  • Array.prototype.length - JavaScript | MDN

    js const listA = [1, 2, 3]; const listB = new Array(6); console.log(listA.length); // 3 console.log(listB.length); // 6 listB.length = 4294967296; //2 の 32 乗 = 4294967296 // RangeError: Invalid array length const listC = new Array(-100); // 負の符号 // RangeError: Invalid array length

    Array.prototype.length - JavaScript | MDN
  • 配列の長さを切り詰める (length, splice) | まくまくJavaScriptノート

    配列の長さを切り詰める (length) 配列オブジェクトの length プロパティは、通常配列の長さを調べるために参照しますが、数値を代入することで配列のサイズを変更するのにも使用できます。 length プロパティに、現在の配列サイズよりも小さい値を代入すると、配列のサイズが切り詰められます。 var a = [1, 2, 3, 4, 5]; a.length = 3; console.log(a.length); //=> 3 console.log(a); //=> [ 1, 2, 3 ]

    配列の長さを切り詰める (length, splice) | まくまくJavaScriptノート
  • Array.prototype.unshift() - JavaScript | MDN

    標準組み込みオブジェクトArrayコンストラクターArray() constructorプロパティArray[@@species]Array.prototype[@@unscopables]Array: lengthメソッドArray.prototype[@@iterator]()Array.prototype.at()Array.prototype.concat()Array.prototype.copyWithin()Array.prototype.entries()Array.prototype.every()Array.prototype.fill()Array.prototype.filter()Array.prototype.find()Array.prototype.findIndex()Array.prototype.findLast()Array.prototype.fi

    Array.prototype.unshift() - JavaScript | MDN
  • [JavaScript] Mapと連想配列の相互変換 - Qiita

    Mapオブジェクトと連想配列を変換したくなったのですが、一発で変換できないみたいなので自分で書いてみました。 調べながら書いていろいろ勉強になったのでメモしておきます。 できたもの const mapToObject = map => Array.from(map.entries()) .map(([k,v]) => ({[k]:v})) .reduce((l,r) => Object.assign(l, r), {}) const objectToMap = object => Object.entries(object).reduce((l,[k,v])=>l.set(k,v), new Map()) const mapToObject = map => [...map].reduce((l,[k,v]) => Object.assign(l, {[k]:v}), {}) const

    [JavaScript] Mapと連想配列の相互変換 - Qiita
  • PHPとPythonとRubyの連想配列のデータ構造が同時期に同じ方針で性能改善されてた話 - hnwの日記

    PHPPythonRubyの連想配列のデータ構造がそれぞれ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の日記
  • Object.keys() - JavaScript | MDN

    Object.keys() は、object で直接発見された列挙可能なプロパティに対応する文字列を要素とする配列を返します。プロパティの順序は、オブジェクトのプロパティをループにより手動で取得した場合と同じです。 // 単純な配列 const arr = ["a", "b", "c"]; console.log(Object.keys(arr)); // console: ['0', '1', '2'] // オブジェクトのような配列 const obj = { 0: "a", 1: "b", 2: "c" }; console.log(Object.keys(obj)); // console: ['0', '1', '2'] // キーの順序がランダムなオブジェクトのような配列 const anObj = { 100: "a", 2: "b", 7: "c" }; console.l

    Object.keys() - JavaScript | MDN
    iww
    iww 2020/09/29
    キーの一覧取得
  • bashのfor文のまとめ

    bashのfor文のまとめです。 ネットで調べたところ、ケース別ですぐに使えそうなサンプルが並んでいるものがなかったので、このエントリーでまとめてみました。 認識違いがありましたどこかでつぶやいてください。 なお、サンプルでは変数のカーリーブレースやダブルクォーテーションは省略しています。適宜付与してください。 1.フォーマット bashのfor文のフォーマットは for 繰り返し条件 do # ... done となっています。 次のフォーマットでも書けます(以降、このフォーマットで解説)。 for 繰り返し条件; do # ... done 2.初期値・ループ条件・ループ時の処理で指定する 繰り返し条件の部分は一般的なfor文のお作法(初期値、ループ条件、ループ時の処理)が利用できます。 for ((初期値; ループ条件; ループ時の処理)); do # ... done サンプル m

    bashのfor文のまとめ
    iww
    iww 2020/08/26
    for ((i=0; i<10; i++)); do echo $i; done は知らなかった
  • How to count number of words from String using shell

    iww
    iww 2020/08/24
    配列の要素数は ${#array[@]}