簡體   English   中英

Javascript:直接替換為index vs Array.splice()

[英]Javascript: replace directly with index vs Array.splice()

今天,我遇到了一個SO問題,以替換對象數組中的匹配對象。

為此,他們使用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';很簡單array[index] = 'something'; 是不是

他們這樣做的唯一原因是:

  1. 他們也想獲得以前的價值
  2. 他們希望通過替換數組中的最后一個元素而不是將其放在-1來“巧妙地”處理idx == -1的情況,因為splice將特別對待負整數。 (這似乎不適合您描述的用例)

在大多數情況下, arr[i] = "value"; 會比arr.splice(i, 1, "value");更好arr.splice(i, 1, "value");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM