テトリス作成に向けて調べた関数などを書いていきます。
#配列内の値を一括で変更する
##Array.prototype.fill()
メソッドは、配列中の開始位置から終了位置までの要素を固定値で設定します。その際、終了位置は含まれません。
出典:https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/Array/fill
###構文
arr.fill(value[, start[, end]])
引数 | 説明 |
---|---|
value | 配列に設定する値 |
start | 開始する位置。デフォルトは0 |
end | 終了する位置。デフォルトはthis.length |
####例
bord.forEach((item) => {
bord[i].fill(0)
});
これでbordの配列の値をすべて0にできる。
#2つの配列を比較する
##Array.prototype.filter()
###構文
let newArray = arr.filter(callback(element[, index, [array]])[, thisArg])
callback引数 | 説明 |
---|---|
element | 現在処理中の要素 |
index | 現在処理中のインデックス |
array | filterが実行されている配列 |
thisArg | callbackを使う時にthisとして使用する値 |
##返り値
フィルターされた配列
#-0(マイナスゼロ)に遭遇
console.log(-1*0)//-0
このような結果に遭遇した
これについてMDNではこう述べられている
Number 型には、2 種類の表現を持つ数値がひとつだけあります。それは 0 であり、-0 および +0 で表します ("0" は +0 の別名です)。実用上、影響はほとんどありません。例えば、+0 === -0 は true です。ただし、ゼロ除算を行った場合は違いに気づくでしょう
出典:JavaScript のデータ型とデータ構造
+0 === -0//true
これがtrueになるなら問題ないかと思いスルー
#絶対値
Math.abs()
#NodeListをforEachで使えるようにする
Array.from(Nodelist).forEach()
#forEachではreturnは使えない
forEachでreturnで処理を終わらせようとしたところ最後まで処理をしていることがわかった。
#配列のディープコピー
let arr=[[0,0],[0,1]]
let arr2=JSON.parse(JSON.stringify(arr));
#数字の四捨五入
// 切り捨て
var a = Math.floor( 1.5 ) ;
// 切り上げ
var b = Math.ceil( 1.5 ) ;
// 四捨五入
var c = Math.round( 1.5 ) ;
#参考