Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 替换对象中的键_Javascript_Lodash - Fatal编程技术网

Javascript 替换对象中的键

Javascript 替换对象中的键,javascript,lodash,Javascript,Lodash,我有: var obj = {'a': {some object}, 'b': {some other object}, 'c':{some other object},...} 我想写一个函数,它将覆盖原始对象中的任何一个键 myFunction(obj, {'a': {new object}}); console.log(obj); //{'a': {new object}, 'b': {some other object}, 'c':{some other object},...} 我

我有:

var obj = {'a': {some object}, 'b': {some other object}, 'c':{some other object},...}
我想写一个函数,它将覆盖原始对象中的任何一个键

myFunction(obj, {'a': {new object}});
console.log(obj);
//{'a': {new object}, 'b': {some other object}, 'c':{some other object},...}

我用的是lodash。很明显,我知道我可以做
\ukeys
,然后获取数组中的唯一项,然后手动分配它,但我想知道是否有一种不那么麻烦的方法

不需要Lodash/下划线,这可以用JavaScript轻松完成

obj[key] = newObject;
var obj={
一:{
1:‘一’
},
二:{
2:‘两个’
},
三:{
3:‘三’
}
};
obj['two']={
22:‘2 2’
};

控制台日志(obj)不需要Lodash/下划线,这可以用JavaScript轻松完成

obj[key] = newObject;
var obj={
一:{
1:‘一’
},
二:{
2:‘两个’
},
三:{
3:‘三’
}
};
obj['two']={
22:‘2 2’
};

控制台日志(obj)
与ES6兼容的Javascript中的
\.extend
函数作为
对象提供。assign
可以满足您的需要

_.extend({ a: 1, b: 2 }, { a: 10 })
// { a: 10, b: 2 }

该函数比简单的赋值更灵活:您可以添加或替换任意数量的键,浅合并作为参数传递的对象。

扩展
函数,在兼容ES6的Javascript中作为
对象提供。赋值
可以满足您的需要

_.extend({ a: 1, b: 2 }, { a: 10 })
// { a: 10, b: 2 }

该函数比简单的赋值更灵活:您可以添加或替换任意数量的键,浅合并作为参数传递的对象。

?关键变化。每次都不一样。@Mika当您使用括号符号传递动态键时,它会起作用。键更改。每次都不一样。@Mika当您使用括号符号传递动态键时,它会工作。