Remy Sharp 的这个小网站清楚地表明了 JavaScript 方法是否会更改原始数组(即变异)。
我实际上前几天被这个问题困住了。我需要数组中的最后一个元素,所以我记住了 .pop()
并使用了它。
const arr = ["doe", "ray", "mee"];
const last = arr.pop();
// mee, but array is now ["doe", "ray"]
这当然一开始效果很好,但我没有意识到原始数组已经改变了,它导致了一个问题。相反,我不得不找到非变异的替代方案。
const arr = ["doe", "ray", "mee"];
const last = arr.slice(-1);
// ["mee"], arr is unchanged
相关:数组资源管理器
很棒的资源 - 我总是发现自己会在 MDN 数组参考 上四处浏览,看看数组可以原生做什么。
快速提醒一下 -
arr.slice(-1)
将得到["mee"]
,而不是"mee"