Javascript 原因是什么;在;无法知道数组中是否存在字符串?
按预期返回Javascript 原因是什么;在;无法知道数组中是否存在字符串?,javascript,Javascript,按预期返回true 1 in [1, 2, 3, 'a', 4] 返回false,但我希望true 为什么会这样?必须是因为字符串是对象?中的告诉您是否存在该名称的属性,而不是任何属性是否有与其匹配的值 您的阵列看起来像: 'a' in [1, 2, 3, 'a', 4] 左手边没有“a” 使用 ar中的1检查是否存在ar[1],而不是检查其中一个数组元素是否为1 ar中的'a'对ar['a']请发布一个完整的代码示例。索引是否应该是整数,因为indexOf返回数字?@Tushar-属性名称
true
1 in [1, 2, 3, 'a', 4]
返回false
,但我希望true
为什么会这样?必须是因为字符串是对象?中的
告诉您是否存在该名称的属性,而不是任何属性是否有与其匹配的值
您的阵列看起来像:
'a' in [1, 2, 3, 'a', 4]
左手边没有“a”
使用
ar中的1
检查是否存在ar[1]
,而不是检查其中一个数组元素是否为1
ar中的'a'对ar['a']
请发布一个完整的代码示例。索引是否应该是整数,因为indexOf
返回数字?@Tushar-属性名称始终是字符串。当用作属性名时,可以键入数字(JS中没有整数类型)的位置将转换为字符串。
{
"0": 1,
"1": 2,
"2": 4,
"3": "a",
"4": 4,
// and various features from Array
}
var ar = [1, 2, 3, 'a', 4];