注:が、これは一般的な配列のコピー「問題」の何百万人ものDUPのの1 arr.slice(0)
修正この「問題」私はこの予想外の結果を取得しています理由を理解したい、と述べた参照されていない配列 "スライス"の後に参照されない?
を使用していないです。
var oldArr = [[1,2],[3,4]];
var find = oldArr[1];
var newArr = oldArr.slice(0);
console.log(newArr.indexOf(find)); //1?
//proof that newArr is NOT referenced to oldArr
newArr[0] = "Hi";
newArr[1] = "How are you?";
console.log(oldArr+" "+newArr); //"1,2,3,4 Hi,How are you?"
次の選択肢のいずれかとfind
を交換した場合、それは期待-1
を返します。
- 使用
[3,4]
直接 [3,4]
を保持している他の配列の参照して、変数を使用し[3,4]
アイデア?で
「indexOf」に関するビットは+1です。私は "アイデンティティ"と "平等"が同じものである非オブジェクトプリミティブを除いて、 "アイデンティティ"という用語を使用し、それが "アイデンティティ検索"(対 "等価検索")だと言うでしょう;-) –