document.querySelectorAll(selectors) を Array.prototype.slice.call() ([].slice.call()) の中に入れると、配列で使える map や filter といったメソッドが使えるようになるようです。 サンプル 例として、Qiitaの人気の投稿Beta にある記事のタイトルをコンマ区切りでアラート表示するブックマークレットを作ってみました。 以下のコードをQiitaの人気の投稿Betaを開いている状態でブラウザ上のアドレスバーに貼り付け(貼り付け時に先頭の javascript: が消える場合は javascript: を追記してください)してからEnterキーを押すと実行できます。 ES2015の記法(アロー関数等)は用いていないので、Internet Explorer 11でも動作します。 [].slice.cal
表示中のHTMLから情報を雑に抜き出して利用するため,ブラウザのデベロッパツールなどでquerySelectorAllしてmapしたい.しかし,querySelectorAllはNodeListを返すので,mapするにはArrayに変換する必要がある. NodeListをArrayに変換するときに短く書く方法ないですかって同僚に聞いたらいろいろ教えてもらえたのでメモ. Array.prototype.slice.callする オーソドックスな手法.昔からこれを書いていて,長くて困っていた.最近はアロー関数を使えるのでちょっと短くなったけど長い. Array.prototype.slice.call(document.querySelectorAll('a')).map(a => a.href) [].slice.callする Array.prototypeのかわりに[]で書く.ちょっと短い
var a = [1,2,3,3,2,2,5]; // 重複を削除したリスト var b = a.filter(function (x, i, self) { return self.indexOf(x) === i; }); // 重複のみをリスト var c = a.filter(function (x, i, self) { return self.indexOf(x) !== self.lastIndexOf(x); }); // 重複を検出したものを重複しないでリスト var d = a.filter(function (x, i, self) { return self.indexOf(x) === i && i !== self.lastIndexOf(x); }); console.log(a); // [ 1, 2, 3, 3, 2, 2, 5 ] console.log
Is there a way to return the difference between two arrays in JavaScript? For example: var a1 = ['a', 'b']; var a2 = ['a', 'b', 'c', 'd']; // need ["c", "d"]
JavaScriptでリスト内包表記のような事をやってみたい。 その為にまずデカルト積をとる為の処理を作成してみる。 デカルト積って? デカルト積とは直積とも呼ばれ英語ではproduct Cartesian product というようだ。 例えば[1,2,3]という集合と [4,5,6] という集合があると、 これらのデカルト積は [1,4],[1,5],[1,6],[2,4],[2,5],[2,6],[3,4],[3,5],[3,6] となる。要するに全ての組み合わせという事。 パッと見た感じ単純に2次元配列にして、ループをネストにするだけで良さそうだが、せっかくなので関数指向的に書いてみたい。 まず2次元目の配列 [4,5,6] に何らかの処理を適用する事で、 [4,5,6] -> [ [1,4],[1,5],[1,6] ] と変化する処理が必要。 何らかの処理とは固定された1とそれぞ
追記 ※仕様を変更しました。 JavaScriptで内包表記、Newバージョン haskellやErlangにあるようなリスト内包表記を理解する為にも、 また便利っぽいのでJavaScriptでも使えるよう実装してみる事にした。 実装前に検索をかけてみると既にそういう事やってる人はいるみたいだ。 JavaScriptでリストの内包表記(の真似) | 東京嫉妬 まぁ理解する為には実装してみるのが一番って事で、車輪の再発明なんて気にしない。 それに既に途中までやってるしね。ではいってみよー。 インターフェースをどうする? まず内包表記の分解から。 [x | x <- [1,2,3,4,5,6], x < 4] こんな感じの記法で、[1,2,3]というリストと等価になる。 この書き方は元々、数学の集合の定義を表現する記法に由来しているらしく、 x <- [1,2,3,4,5,6]ってのは数学の場
昨日作ったJavascriptの内包表記のインターフェースを一新しました。 listC関数の引数に要素を渡すスタイルをやめて、配列の要素に式を直接書くスタイルに変更。 (内包表記的にみて)より見た目が直観的になったと思います。 まぁそれでも言語仕様の制限上、最終的に関数コールしないといけませんが。 記述例 ["x + y|x <- [1,3,5], y <- [2,4,6], x > y"].lisc(); // [5,7,9] 書き方は結構柔軟で、文字列のみでバーチカルラインを使って式とリストを分ける標準スタイル以外にも、配列の要素としてそれぞれの式を与える事もできます。 ["[x,y]","x <- [1,3,5,7]", "y <- [1,2,3,4]", "(x + y) % 2== 0"].lisc(); // [[1,1], [1,3], [3,1], [3,3], [5,1]
\閉鎖予定のサイトも売れるかも?/ アクセスがないサイトもコンテンツ価値で売れる場合も… ドメインの有効期限を更新してサイト売却にトライしてみましょう
つーかなんか勘違いされる事があるけど私javascript強者じゃないいですけど・・・・。 なんというか、うまくなる方法ってわけでもないけど思いついたものをサラリ。 大したことやってなくても周りから「なんか凄いできる人みたい」って思われたい的なメソッドかな。 なんでコードの見た目も重視ですよと。 関数を引き数に取る小さな関数を作る これはmapやfilterの事なんだけど小さな関数をそーいうのを書いておくと楽ですよと。 配列関連 は特に重要。 あとflattenなどは関数をapplyで一発で呼べるようになるので実装してるといいかも。 関数を作る関数を作る これは重要。というか重宝すると思う。 特にscopeを意識する場合は必須になるんかなと。 あとは遅延実行ね。 関数型のようにかっこよくキメたいあなたにはうってつけかなと。 for文撲滅 これもmapやfilterを使えって事なんだけど。
reduce() メソッドは、配列の各要素に対して (引数で与えられた) reducer 関数を実行して、単一の出力値を生成します。 このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、https://github.com/mdn/interactive-examples をクローンしてプルリクエストを送信してください。 reducer 関数は 4 つの引数を取ります。 アキュムレーター (acc) 現在値 (cur) 現在の添字 (idx) 元の配列 (src) reducer 関数の返値はアキュムレーターに代入され、配列内の各反復に対してこの値を記憶します。最終的に単一の結果値になります。 構文 arr.reduce(callback( accumulator, currentValue[, index[, array]] ) {
金利は何より大切な部分だということができますから、これを念入りにチェックすれば、あなた自身にとって最もふさわしいおまとめローンが発見できるはずです。 キャッシングサービスを利用する場合は、前もって審査に通らなければなりません。この審査は、本当に申し込んできた人に返す能力が備わっているのかないのかを見極めるためのものになります。 違う会社で既にキャッシングによりお金を借りているという方が、更に借りようとする場合、どこの金融会社でも楽に貸付が受けられるという訳には行かないので注意が必要です。 こちらのサイトは、「とにかく今日まとまったお金がいるようになった!」などと言われる人のために、即日キャッシングを扱っている金融関連業者を、十分に検証して、公にしているサイトというわけです。 規模が少し小さいキャッシングが主要業務内容のローン業者ということになると、正直不安になるのは普通のことですよね。そう
Array.prototype.max=function()Math.max.apply(null,this); Array.prototype.min=function()Math.min.apply(null,this); Array.prototype.sum=function()this.reduce(function(a,b)a+b,0); Array.prototype.uniq=function()this.sort().reduceRight(function(a,b)(a[0]===b||a.unshift(b),a),[]); Array.prototype.last=function()this[this.length-1]; Array.prototype.first=function()this[0]; Array.prototype.flatten=functi
Filed: Sun, Mar 25 2007 under Programming|| Tags: reference arrays javascript stacks queues ajax Mastering Javascript Arrays Believe it or not, the very first version of Javascript shipped without Arrays. Subsequent versions made up for the oversight and modern Javascript Arrays are powerful structures indeed, even emulating many common data structures such as stacks and queues. This reference
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く