メインコンテンツまでスキップ

「JavaScript」タグの記事が4件件あります

全てのタグを見る

JavaScript のメモ

· 約2分
ひかり
Main bloger

配列

例: [1, 2, 3]

配列のコピー

// 参照渡し
let a = [1, 2, 3]
let b = a
b[0] = -1
a // [-1, 2, 3]

// コピー
a = [1, 2, 3]
b = a.slice()
b[0] = -1
a // [1, 2, 3]
b // [-1, 2, 3]

末尾の値

let a = [1, 2, 3]
a.at(-1)

配列を取り出す

let a = [1, 2, 3, 4, 5]
a.slice(2) // [3, 4, 5]
// 注意
a.slice(2, -1) // [3, 4]

数列の作成 (いわゆる range)

const range = (start, stop, step) =>
Array.from({ length: (stop - start) / step + 1}, (_, i) => start + (i * step));

range(0, 10, 1) // [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

for-of

for(let c of ['a', 'b', 'c']){
console.log(c)
}
結果
a
b
c

map

let a = [1, 2, 3].map(x => x ** 2)
// [2, 4, 6]

すべて零の配列 (zeros)

Array.zeros = (n) => Array.from({ length: n}, () => 0);

Array.zeros(5) // [0, 0, 0, 0, 0]

合計 (sum)

Array.prototype.sum = function(){ return this.reduce((prev, curr) => prev + curr, 0) }

[1, 2, 3, 4].sum() // 10

平均 (mean)

Array.prototype.mean = function(){ return this.reduce((prev, curr) => prev + curr, 0) / this.length }

[1, 2, 3, 4].mean() // 2.5

文字列

例: "text"

テンプレートリテラル

let a = 100
`${a / 10}` // "10"

数値

例: 1

文字列を数値に変換

parseInt('100') // 100 
parseFloat('100.1') // 100.1

フォーマット

// 小数点以下 3 桁
(1.2).toFixed(3) // "1.200"

日付

let today = new Date

today.toDateString() // "Sat Jan 01 2022"
today.toISOString() // "2021-12-31T15:00:00.000Z"
today.toLocaleDateString() // "2022/1/1"
today.toLocaleString() // "2022/1/1 0:00:00"
today.toLocaleTimeString() // "0:00:00"
today.toString() // "Sat Jan 01 2022 00:00:00 GMT+0900 (日本標準時)"
today.toTimeString() // "00:00:00 GMT+0900 (日本標準時)"
today.toUTCString() // "Fri, 31 Dec 2021 15:00:00 GMT"

era.js

· 約2分
ひかり
Main bloger

JavaScript で使える和暦のライブラリーを作りました。

https://himeyama.github.io/era.js/era.js

let date = new Era()
date.getWareki() // "令和X年X月X日" (今日の日付)

date = new Era("2020-1-1")
date.getWareki() // "令和2年1月1日"

date.getWareki("西暦") // "2020/01/01"

date.getDateAry() // ["令和", 2, 1, 1]

Era.date2wareki(id) // id を指定して要素を和暦に変換

getWareki() の引数

calshorttype表示
"和暦"true0
1
2
3
4
5
false0
1
2
3
"西暦"true0
1
2
3
4
5
false0
1
2
3
4

JavaScript メモ

· 約1分
ひかり
Main bloger

添字を添えて for で繰り返し

for([i, e] of ["a", "b", "c"].entries()){
console.log(i, e)
}

forEach でも

["a", "b", "c"].forEach((e, i) => {
console.log(e, i)
})

長さ n の配列を作成

const n = 10
let ary = [...Array(n)].map((_, i) => i)
// もしくは
ary = Array.from({length: n}).map((_, i)=> i)

配列の和

let ary = [1, 2, 3, 4, 5]
ary.reduce((_, v) => _ + v)

Chart.js の使い方メモ

· 約1分
ひかり
Main bloger

Chart.js で線をプロットする

let x = nj.arange(-50, 50).divide(10)
let ctx = document.getElementById('chart').getContext('2d');
ctx.canvas.parentNode.style.height = "240px";
ctx.canvas.parentNode.style.width = "320px";
new Chart(ctx, {
type: 'line',
data: {
labels: x.selection.data,
datasets: [
{
label: "sin(x)",
data: nj.sin(x).selection.data,
fill: false,
borderColor: "#2196F3",
radius: 0,
},
{
label: "cos(x)",
data: nj.cos(x).selection.data,
fill: false,
borderColor: "#FF9800",
radius: 0,
}
]
},
options: {
responsive: true,
}
});