我当前正在跟踪数组中的事物,但除了它们在数组中之外,我不需要了解它们的任何信息。例如,我可能有一个 forSale 数组,并且该数组中有所有待售的 itemID。
目前工作正常,但无论如何,我一直在做一些测试,似乎 object.hasOwnProperty(x)
打击 array.indexOf(x) !== - 1
出水(我知道它们完全不同,但我不知道有任何其他方法来测试数组中是否有值)。这让我开始思考,为什么不直接创建类似的东西
var saleObject = {
"someId" : "",
"someOtherId" : ""
};
然后我可以调用 saleObject.hasOwnProperty('someId')
并知道该对象正在出售。我看不出这有什么缺点,但这就是我来这里的原因。这样做有什么问题吗?
最佳答案
假设您可以修改相关代码以接受新结构,那么完全没有问题。速度上的差异源于 Object 能够执行二分搜索来确定它是否拥有 key ,而 indexOf 必须检查数组中的每个值。
关于javascript - 使用 "value":""创建对象的任何缺点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4392117/