0
0

More than 3 years have passed since last update.

【javascript】テトリス作成に向けて

Posted at

テトリス作成に向けて調べた関数などを書いていきます。

配列内の値を一括で変更する

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 ) ;

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0