基于其他对象创建对象

时间:2017-01-27 12:59:39

标签: javascript

说我有一个对象:

var obj1 = {var1: 123, var2: 456, var3: "fdsfdsfds"};

如何基于obj1创建对象2,使其具有obj1的所有属性,并且它们都属于其他新键:

var obj2 = {parentKey: {var1: 123, var2: 456, var3: "fdsfdsfds"}};

密钥的名称 - var1,var2,var3 - 不为人所知,它们可以是任何东西。

2 个答案:

答案 0 :(得分:1)

事实上,你是不是使用像babel或其他编译器,有必要使用以下语法:

$mysql=@new mysqli($db['host'],$db['user'],$db['pass'],$db['name']);
$mysql->set_charset('utf8mb4'); 
if($mysql->connect_errno)
{
    die('Database connection could not be established. Error number: '.$mysql->connect_errno);
}

如果你不希望你的对象是不可变的,你只需要这样做:

var obj2 = {parentKey: Object.assign ({}, obj1)};

等待ES2015的标准化,您必须使用编译器来使用以下语法:

var obj2 = {parentKey: obj1};

答案 1 :(得分:1)

如果你真的需要复制对象,一个简单的方法来做一个简单的复制是新的Object.assign函数(可以为旧环境填充);

var obj2 = {parentKey: Object.assign({}, obj1)};

如果您不介意使用相同的对象(不是副本),则可以将其设为新对象parentKey的值:< / p>

var obj2 = {parentKey: obj1};