web-dev-qa-db-ja.com

JavaScriptのarray.clear()は関数ではありませんか?

「クリア」ボタンが押されたときに、描画された座標を含む配列を空にしようとしています。

drawnDivs.clear()を呼び出すと、関数ではないというエラーが表示されます。 drawnDivsは確かに配列であり、 Firebugconsole.logs物事を出力します。 ここでホスト です。

57
Nona Urbiz

いいえ、そうではありません。しかし、drawnDivs.length = 0動作するはずです。

78
jordanbtucker

drawnDivs = [];

9
Mike Ruhlin

スタックオーバーフローの質問JavaScriptで配列を空にする方法で回答されました。

答えからの2つの例:

var A = ['some', 'values', 'here'];

//Method 1

//(This was my original answer to the question)

A = [];




// Method 2 (as suggested by Matthew Crumley)

A.length = 0

そして、Axel Rauschmayer博士によるこれら2つの方法に関する こちらはNiceの記事です です。

4
subhaze

最適化の方法は次のとおりです。

while (arr.pop()) {}

http://jsperf.com/kbk-clear-array/2 を参照してください。

2
user3271659

または、Prototypeライブラリを使用してから、Prototypeのclear()メソッドを使用することもできます。

0
Debosmit Ray