var test = [];
for (var i = 0; i < 2; i++) {
var info = { headimg: "cc", js: "bb", uname: "oo" };
var a = test.includes(info);
console.log(a);
test.push(info);
var b = test.includes(info);
console.log(b);
}
為何輸出的是 false,true,false,true
我的理解是第一次false,是因為info還沒添加到test陣列,但是第二次回圈的時候test已經有一個info值了,怎么還是false不是true
uj5u.com熱心網友回復:
你兩次回圈每次都創建一個新的info物件,兩次創建的物件是不同的地址。includes方法比較兩個物件時是按地址比較的,不是按物件內容比較的。
兩個物件的地址不同,就認為不相等。就算兩個物件內容一樣也不行。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/265237.html
標籤:HTML5
上一篇:js 如何找到new 的物件
