gpt4 book ai didi

Javascript:直接用索引替换 Array.splice()

转载 作者:可可西里 更新时间:2023-11-01 02:44:40 25 4
gpt4 key购买 nike

今天,我遇到了一个 SO question替换对象数组中的匹配对象。

为此,他们使用 lodash 在对象数组中查找匹配对象的索引。 .

var users = [{user: "Kamal"}, {user: "Vivek"}, {user: "Guna"}]
var idx = _.findIndex(users, {user: "Vivek"}); // returns 1

现在他们使用 splice() 来替换,

users.splice(idx, 1, {user: "Gowtham"})

但为什么不呢,

users[idx] = {user: "Gowtham"};

现在我的问题是,有什么理由不这样做或不使用 splice()

因为使用array[index] = 'something'; 非常简单。不是吗?

最佳答案

他们这样做的唯一原因是:

  1. 他们也想获得之前的值
  2. 他们想“巧妙地”处理 idx == -1 的情况,方法是替换数组中的最后一个元素,而不是将其放在 -1 处,因为 splice 会专门处理负整数。 (这似乎不适合您描述的用例)

在大多数情况下,arr[i] = "value"; 会比 arr.splice(i, 1, "value"); 更好

关于Javascript:直接用索引替换 Array.splice(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32543455/

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