私はユーザースクリプトの開発者であり、私はページ上のjavascriptを制御できないとします。このページはランダムな長さの配列を作成し、ランダムな値(例えば、undefined
などの偽のものを含む)でそれらを埋めます。すべての要素に値を割り当てる必要はないため、空のスロットが存在する可能性があります。未定義の配列要素と空のスロットの区別方法は?
簡略化した例(Firefoxのコンソール):JavaScriptのために、彼らは同じように見えるのに対し
var arr = new Array(3);
arr[0] = null;
arr[1] = undefined;
console.log(arr); \\ Array [ null, undefined, <1 empty slot> ]
console.log(arr[1]); \\ undefined
console.log(arr[2]); \\ undefined
console.log(arr[1] === arr[2]); \\ true
console.log(typeof arr[1]); \\ undefined
console.log(typeof arr[2]); \\ undefined
我々が見ることができるように、Firefoxは、異なるundefined
と空のスロットを表示します。
ここで、空のスロットをすべて削除し、undefined
の要素はそのままの状態で、このような配列を消去したいとします。それ、どうやったら出来るの?
?あなたは新しい配列が欲しいですか? –