gpt4 book ai didi

javascript - 使用indexOf从列表中删除对象?

转载 作者:行者123 更新时间:2023-12-03 10:42:23 25 4
gpt4 key购买 nike

所以,我看到了这段代码:

removeOrder = (order) ->
index = listOfOrders.indexOf(order)
if index isnt -1
listOfOrders.splice index, 1

其中 order 是这样的对象:

order = {
id: whatever
field1: whatever
...
}

现在可以正常工作,因为作为参数传递的 order 正在引用 listOfOrders 中的某个对象,例如 removeOrder(listOfOrders[i]).但我的问题是,这安全吗?我的意思是,我认为最好迭代订单列表并搜索具有相同 id 的对象,例如,然后将其删除。

据我所知,当我们搜索的对象是“简单”对象(数字、字符串等)时,indexOf 是可以的。

最佳答案

根据These docs for indexOf ,indexOf 使用严格相等===

var a = {id:1};
var b = {id:1};

a === a; // this is true
a === b; // this is false

所以对于对象来说一般来说是安全的

您确实需要在拼接之前检查 indexOf != -1

关于javascript - 使用indexOf从列表中删除对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28714788/

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