今天,我遇到一个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';
非常简单。不是吗?
答案 0 :(得分:3)
他们可能会这样做的唯一原因是:
在大多数情况下,arr[i] = "value";
会优于arr.splice(i, 1, "value");