有人能告诉我为什么每次我想检查一个键是否可用于我的数组中,我得到的结果是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