有人能告诉我为什么每次我想检查数组中的某个键是否可用时得到的结果都是 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[i]
。像这样:
var obj = new Array();
obj.push({ name: "test1", value: "10" });
obj.push({ name: "test2", value: "40" });
var inobject = "value" in obj[0];
console.log(inobject);
关于javascript - 通过推送值检查数组中是否存在键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46039603/