gpt4 book ai didi

javascript - 如何在不指向同一对象的情况下复制变量?

转载 作者:行者123 更新时间:2023-11-29 20:09:21 27 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
What is the most efficient way to clone a JavaScript object? (Most of these use external libraries, or don't work completely. The Blog Post below is a much better resource)

这是在 scribd 开发者挑战的背景下。他们的 API 允许我调用 get_board 并获取板。但是,我想要做的是拥有我在 set_field 中修改的那 block 板的副本。但是,当我这样做时,它会扰乱他们自己的内部板对象并破坏他们的代码。所以,我需要的(我认为)是调用 get_board 然后断开指向对象的指针并修改我自己的板。我在下面尝试使用 mygame.board 进行此操作,但仍然遇到相同的错误。

错误显示:对象的类型与关联到该对象的参数的预期类型不兼容

function new_game()
{
var board = get_board();
var mygame={board: board}
mygame.board = set_field(min_max_store, mygame.board)
}

function set_field(min_max_store, board)
{

//loop x
//loop y
board[x][y] = -1;
return board
}

我怎样才能阻止指针指向他们的对象并让我自己修改?

编辑:

这适用于二维数组。

var one = [[1,2],[2,3],[3,4],[4,5]]
var two = one.slice(0)

for(var x = 0; x <= one.length - 1; x++)
{
two[x] = one[x].slice(0)
}

one[1][1] = 10

console.log(one)
console.log(two)

返回:

[[1, 2], [2, 10], [3, 4], [4, 5]]
[[1, 2], [2, 3], [3, 4], [4, 5]]

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