JavaScript関連のことを調べてみた2022年09月13日

JavaScript関連のことを調べてみた2022年09月13日

paizaラーニング レベルアップ問題集 ソートメニュー応用編 JavaScript ペアソート

ペアソート (paizaランク C 相当)
https://paiza.jp/works/mondai/sort_advanced/sort_advanced__problems_speedup_step4

1列目の方が優先度が高いので、後にソートします。

“`javascript
const fs = require(“fs”);
const input = fs.readFileSync(“/dev/stdin”, “utf-8”).trim();
const lines = input.split(“\n”);
//数値 n
const [n] = lines[0].split(” “).map(Number);
// n 行 2 列の表 a
const a = lines.slice(1).map(line => line.split(” “).map(Number));
console.log(a);
//2 列目の数値に基づいて昇順でソート
a.sort((a, b) => a[1] – b[1]);
//1 列目の数値に基づいて昇順でソート
a.sort((a,

元記事を表示

Jestのjest.fn()とjest.spyOn()関数について

# mockingとは
単独テストコードを作成する際、該当のコードが依存する部分を偽の動きをするもの(mock)に変更すること。テスト対象のコードが依存する部分を直接作成することが難しい場合mockingする。

# jest.fn()の使用方法
jestでは偽の関数を作成する`jest.fn()`関数を提供している。
“`javascript:javascript
const mockFn = jest.fn()
“`

この偽の関数は引数をもって呼び出すことも可能である。
“`javascript:javascript
mockFn()
mockFn(1)
mockFn(“a”)
mockFn([1, 2], { a: “b” })
“`

しかしこのままだと、偽の関数は何も設定してないため`undefined`をreturnする。
`mockReturnValue(return値)`を利用して偽の関数がどの値をreturnすべきかを設定することができる。
“`javascript:javascript
mockFn.mockReturnValue(“I am a moc

元記事を表示

Python,Ruby,PHP,Java,JavaScript,Perlのコマンドライン引数の比較

Qiita > プログラミング言語の比較

Python,Ruby,PHP,Java,JavaScript,Perlのコマンドライン引数の比較

# Python

https://qiita.com/taashi/items/07bf75201a074e208ae5

# Ruby

https://qiita.com/shiGira/items/44586bdc48c06e00d99f

# PHP

https://qiita.com/aic0o/items/91ca1ddc1fc6e025286f

# Java

https://qiita.com/takahirocook/items/ece64146015f702d0a83

# JavaScript

https://qiita.com/furusin_oriver/items/f030d1eaa9e7b54233c3

# Perl

https://perlzemi.com/

元記事を表示

Porting WordNet to the Dogelog Player

# Introduction

The Princeton WordNet is a relational database of English lexical and semantical word relationships. As a relational database it is also readily available as Prolog predicates. We made an experiment in porting WordNet to a Dogelog Player notebook.

![eigenlijk.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/416192/911b1358-91db-10fb-a0eb-7ad00e9dc55c.png)

Dogelog Player is 100% written in Prolog, but its Prolog input/output predicates are too slow to read the Pr

元記事を表示

paizaラーニング レベルアップ問題集 ソートメニュー応用編 JavaScript 区間のソート

区間のソート (paizaランク C 相当)
https://paiza.jp/works/mondai/sort_advanced/sort_advanced__problems_simple_boss
sliceで区間を切り出します。
“`javascript
const fs = require(“fs”);
const input = fs.readFileSync(“/dev/stdin”, “utf-8”).trim();
const lines = input.split(“\n”);
//数列の長さを表す整数 n
//ソートする区間の左端の位置を表す l と右端の次の位置を表す r
const [n, l, r] = lines[0].split(” “).map(Number);
//数列 a
const a = lines[1].split(” “).map(Number);
//数列 a の l 番目の要素から r – 1 番目の要素だけを昇順でソート
const aSorted = a.slice(l, r).sort((a, b) => a – b);

元記事を表示

paizaラーニング レベルアップ問題集 ソートメニュー応用編 JavaScript 重複削除

重複削除 (paizaランク C 相当)
https://paiza.jp/works/mondai/sort_advanced/sort_advanced__problems_simple_step3
集合Setで重複削除をします。スプレッド構文で配列に変換します。
“`javascript
const fs = require(“fs”);
const input = fs.readFileSync(“/dev/stdin”, “utf-8”).trim();
const lines = input.split(“\n”);
//数列の長さを表す整数 n
const [n, k] = lines[0].split(” “).map(Number);
//数列 a
const a = lines[1].split(” “).map(Number);
//数列 a から重複した要素をすべて削除
let set = new Set([…a]);
//残った要素を昇順かつ半角スペース区切りで出力
console.log([…set].sort((a, b) => a – b).

元記事を表示

paizaラーニング レベルアップ問題集 ソートメニュー応用編 JavaScript 最大最小

最大最小 (paizaランク C 相当)
https://paiza.jp/works/mondai/sort_advanced/sort_advanced__problems_simple_step1
解いてみました。昇順に並べ替えて、末尾が最大値、先頭が最小値です。
“`javascript
const fs = require(“fs”);
const input = fs.readFileSync(“/dev/stdin”, “utf-8”).trim();
const lines = input.split(“\n”);
//数列の長さを表す整数 n
const n = Number(lines[0]);
//数列 a
const a = lines[1].split(” “).map(Number);
//数列 a が昇順でソートされた状態 aSorted
const aSorted = a.slice().sort((a, b) => a – b);
//a の最大値、 a の最小値の順で、半角スペース区切りで出力
console.log(aSorted[n – 1]

元記事を表示

paizaラーニング レベルアップ問題集 ソートメニュー応用編 JavaScript ソートの基本

ソートの基本 (paizaランク C 相当)
https://paiza.jp/works/mondai/sort_advanced/sort_advanced__problems_simple_step0
解いてみました。
“`javascript:JavaScript
const fs = require(“fs”);
const input = fs.readFileSync(“/dev/stdin”, “utf-8”).trim();
const lines = input.split(“\n”);
//数列の長さを表す整数 n
const n = Number(lines[0]);
//数列 a
const a = lines[1].split(” “).map(Number);
//a_1 ≦ a_2 ≦ … ≦ a_n かどうか判定
let flag = true;
for (let i = 0; i < n - 1; i++) { if (a[i] > a[i + 1]) {
flag = false;
break;

元記事を表示

Tumblrのカスタムページで表示/非表示を切り替えるボタンを作れなかったメモ

Tumblrのカスタムページで、YouTubeの概要欄みたいにクリックで連絡先を表示するものを実装したくて、いろいろやって失敗したものです。
(Tumblrのカスタムページが何かっていう説明は省きます)

## JSで書こうとした

See the Pen
ButtonToggle JS
by ぽんたん (

元記事を表示

dialog要素を使う今後のモーダル実装

こんにちハ! こんばんハ!
フロントエンドエンジニアとして働いている[あんころもちたろう](https://twitter.com/KL2J3BsTnbc7VD8)です。

初めて記事を書くので緊張気味です・・・:eyes:

## 対象ブラウザにIE11が含まれない時代へ・・・

そろそろIE11対象外のweb制作が増えてくるのかなと思ってます。
遅れを取らないようにCSS・JSの情報をキャッチアップをしていましたが、HTMLを疎かにしておりました:bow_tone2:

というわけで!
そろそろ業務でも使われるdialog要素を実際に使ってモーダルを実装してみましたので、共有させていただきます。

[can i use](https://caniuse.com/dialog)

## HTMLの記述
まずはdialog要素をどのように記述するか確認します。

“`html

dialog内のテキスト

元記事を表示

夏の読書感想文@素のJavaScriptによる実践オブジェクト指向

:qiitan:Qiitaの公式イベント **[「エンジニア夏休み企画!~自由研究や読書感想文を発表しよう~」](https://qiita.com/official-events/6d31965c499a69377c0b)** の参加記事です

# ずるさせてください
本記事では、2022年8月30日に開催された[Saitama.js vol.3【初心者歓迎 JavaScript LT会】](https://saitamajs.connpass.com/event/238897/)にお邪魔させてもらった際に登壇した、読書感想LTの資料を転載しています

https://saitamajs.connpass.com/event/238897/

zoomでの開催でしたので、イベントのアーカイブは残っておりません。。
connpassのページに他の登壇者様のスライドもありますので、そちらでイベントの雰囲気を感じていただけたらと思います…!

# 登壇資料(書評と読書感想文)