gpt4 book ai didi

javascript - 是否有用于对象/哈希的 $.inArray 函数?

转载 作者:行者123 更新时间:2023-12-01 01:59:01 25 4
gpt4 key购买 nike

类似这样的事情:

object = { 'one' : 1, 'two' : 2 }
$.inObject(object, 'one') // returns true
$.inObject(object, 'three') // returns false

它只会搜索键。

最佳答案

最安全的方法是使用 .hasOwnProperty():

obj = { 'one' : 1, 'two' : 2 };
obj.hasOwnProperty('one') // returns true
obj.hasOwnProperty('three') // returns false

您还可以使用 in 运算符,正如其他人建议的那样:

obj = { 'one' : 1, 'two' : 2 };
console.log('one' in obj) // true
console.log('three' in obj) // false

但是,in 运算符可能会被对象原型(prototype)上的任何属性所混淆,这些属性可能已通过某些库或其他代码添加到 Object,因此 hasOwnProperty() 通常被认为是检测您自己添加到实际对象中的内容的更安全的选择。换句话说,如果有人向对象原型(prototype)添加了方法或属性,它会被 in 运算符获取,但不会被 .hasOwnProperty() 获取,后者仅检查实际对象本身,而不是任何继承的属性。

<小时/>

仅供引用,这对于您的特定用途来说可能有点过分了,但是有一个 Set 对象和一个 ValueSet 对象的实现使用这种类型的逻辑并在此处提供许多典型的Set操作:Mimicking sets in JavaScript? 。这些代码也可用于 Set 对象,因此如果您想进一步自学,您可以了解它是如何工作的。

关于javascript - 是否有用于对象/哈希的 $.inArray 函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22547023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com