gpt4 book ai didi

javascript - 为什么将 "= "用于数组方法?

转载 作者:行者123 更新时间:2023-12-01 15:51:00 25 4
gpt4 key购买 nike

我有一个关于这个问题的解决方案的问题。它有效,但我的问题是为什么我必须写

stones = stones.slice(0 ,length - 2)

代替
stones.slice(0 ,length - 2)

像 sort() 和 push 没有它的工作。
 var lastStoneWeight = function (stones) {
stones.sort((a, b) => a - b);
let length = stones.length
if(length <= 1) return stones
let replace = stones[length - 1] - stones[length - 2]
stones = stones.slice(0 ,length - 2) // <----- HERE
stones.push(replace)

if (stones.length > 1) return lastStoneWeight(stones)
return stones
};

console.log(lastStoneWeight([8,10,4])); //return [2]

最佳答案

.sort().push()是直接改变(修改)数组的方法。
.slice()另一方面,是一个返回 的方法。新阵列 , 根据您的 parameters 修改,甚至没有触及最初的。

关于javascript - 为什么将 "= "用于数组方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61174234/

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