Javascript";在;给出错误的结果
我有以下Javascript代码:Javascript";在;给出错误的结果,javascript,associative-array,Javascript,Associative Array,我有以下Javascript代码: var myArray = {"a":21600904, "b":21100999, "c":21602019, "d":21704354, "e":21602271, "f":21500123}; console.log(Object.values(myArray)); console.log(21600904 in Object.valu
var myArray = {"a":21600904, "b":21100999, "c":21602019, "d":21704354, "e":21602271, "f":21500123};
console.log(Object.values(myArray));
console.log(21600904 in Object.values(myArray));
我得到以下输出:
[ 21600904, 21100999, 21602019, 21704354, 21602271, 21500123 ]
false
但这并不是我所期望的。我的理解是,21600904
在Object.values(myArray)
中,但是21600904在Object.values(myArray)
中返回false而不是true
我错过了什么?为什么此代码不打印
true
?中的只检查键,而不检查值。另外,myArray
是一个对象而不是数组。您的意思是object.values(myArray.includes(21600904)
myArray={…}
--您的“数组”不是数组,而是一个对象。数组是使用从0
开始的整数编制索引的项的集合。请阅读。它不符合你的想法。您正在查找的函数适用于实际对象,但它查找的是键,而不是值。换句话说,myArray中的“a”应计算为true
。