gpt4 book ai didi

javascript - 在 Javascript 中非破坏性地反转数组

转载 作者:数据小太阳 更新时间:2023-10-29 03:53:08 24 4
gpt4 key购买 nike

假设我有一个函数:

function linesReverser(lines) {
var localLines = lines.slice();
localLines[1].reverse();
return _.flatten(localLines);
}

像这样使用它:

var input = [["Hello"],["Hello", "World"]["Attention", "Please"]];
var output1 = linesReverser(input); //["Hello", "World", "Hello", "Attention", "Please"]
var output2 = linesReverser(input); //["Hello", "Hello", "World", "Attention", "Please"]

注意对象引用是如何共享的。我是 JS 的新手,但我认为复制值可以缓解这个问题 (line.slice()),但它似乎不起作用。这是因为嵌套数组吗?

我怎样才能以非破坏性/不变的方式执行反向操作?

最佳答案

您可以使用 ES6 的扩展运算符复制数组,然后破坏性地反转副本:

const arr1 = [1,2,3];
const arr2 = [...arr1].reverse();
// arr1 => [1,2,3]
// arr2 => [3,2,1]

关于javascript - 在 Javascript 中非破坏性地反转数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14450201/

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