我有一個結果集,它是一個對象數組。我需要克隆這個,以便我可以對其進行更改,而不必觸摸原始數據。如何克隆一個Javascript數組對象?
var data = w2ui.grid.records,
exclude = Array('recid', 'w2ui'); // Exclude these data points from the pivot
// Modify our tempData records to remove HTML
$.each(data, function(key, value) {
$.each(value, function(_key, _value) {
if(jQuery.inArray(_key, exclude) != -1) {
delete data[key][_key];
}else{
data[key][_key] = $('<div>'+_value+'</div>').text(); // <div></div> for those which are simply strings.
}
});
});
在這個例子中,我創建了一個名爲data
並將其設置爲我的「源數據」變量。
我希望能夠對這個新的數據變量進行更改,但似乎在對其進行更改時,源數據正在更改(w2ui.grid.records
)。
是否有適當的方法來克隆這個集合,以便我可以修改一個新的數據實例?
使用'片(0)'。例如:'clonedArray = originalArray.slice(0)'它會創建一個新的數組。 – Gerardo
可能重複[如何正確克隆JavaScript對象?](http://stackoverflow.com/questions/728360/how-do-i-correctly-clone-a-javascript-object) –