私が関数を持っているとしましょう:
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()
)が、うまくいかないようです。これはネストされた配列が原因ですか?
どうすれば非破壊的/不変にリバースを実行できますか?