Array のような JS コア オブジェクト用の小さいながらも便利な追加メソッドがいくつかあります。
Array.prototype.indexOfObject(プロパティ、値)
このメソッドは、(オブジェクトの)配列内のオブジェクトのインデックスを返します。ここで、プロパティ==値であり、シンプルで生産的です。
ただし、配列を列挙すると、メソッドが表示されるため、毎回次のようにする必要があります。
for(var i in MyArray){
if(typeof(MyArray[i])=="typeneeded"){
// do something
}
}
私が知っているように、defineProperty は列挙不可能なメソッドを作成するので、すべてのブラウザがそれを受け入れると問題が解決します。ところで、defineProperty を使用することはすでに安全ですか? IE9はうまく動作しますか?他のブラウザ?これを行う3番目の方法はありますか?