有人能告訴我爲什麼每次我想檢查一個鍵是否可用於我的數組中,我得到的結果是false
?見下面通過按值檢查數組中是否存在鍵
var obj = new Array();
obj.push({ name: "test1", value: "10" });
obj.push({ name: "test2", value: "40" });
//var inobject = "name" in obj; // result: false
//var inobject = "test1" in obj; // result: false
//var inobject = "10" in obj; // result: false
var inobject = "value" in obj;
$('body').append("<p>"+ inobject + "</p>");
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
你不能在obj'檢查屬性'「名」對一個數組 – RomanPerekhrest
嘛,'obj'是一個數組,儘管它的名字,而數組沒有命名密鑰。這個數組由對象組成,你可以在obj [0]中做''value'來檢查數組中的第一項是否爲對象,它是否具有鍵「值」等。 – adeneo
因爲你試圖找到數組元素的一個鍵。這是行不通的。考慮使用:obj.filter((e)=> {return e.value == 10})。length> 0'如果你正在爲一個值爲10的元素打結。 – Bellian