用Java复制哈希

问题描述 投票:0回答:2

我有一个非常简单的javascript哈希(仅是属性的对象):

var original_color = {
  r: 214,
  g: 124,
  b: 55
};

我想复制整个哈希,然后更改它:

var new_color = original_color;
new_color.r = 50;

javascript是否有任何内置的方式来复制字典?还是我应该使用其他一些JS数据类型来处理哈希/字典?

关于克隆对象,有一个关于SO的相关问题:How do I correctly clone a JavaScript object?。但是令我惊讶的是,没有简单的方法可以简单地复制哈希,或者本质上是仅具有属性而没有方法,原型等的对象。

javascript hash
2个回答
1
投票

您可以使用Object.assign

var original_color = {
r: 214,
g: 124,
b: 55
};   
var new_color = Object.assign({},original_color)

0
投票

嗯,这可以解决问题,但这并不优雅,只是您之前引用的答案的精简版。

var original_color = {
r: 214,
g: 124,
b: 55
};   
var new_color ={};    
for (prop in original_color){
  if (original_color.hasOwnProperty(prop)){
    new_color[prop] = original_color[prop];
 }
}
new_color.r = 50;
© www.soinside.com 2019 - 2024. All rights reserved.