我有一个方法,该方法使用两个参数@EnableJpaRepositories
作为属性名称,并使用key
作为属性值。当我使用它时,我想更新value
并在其中添加尽可能多的值,就像我调用setData方法一样。我不需要使用相同的data[key]
重写值,而是更新它并添加一个新值,因此最终对象可以如下所示:
key
当前实现:
{
patients:
formValue: […],
filtersValue: {}
}
答案 0 :(得分:1)
解决方案是:
setData(key, value) {
this.data[key] = { ...this.data[key], ...value };
}
答案 1 :(得分:0)
像这样使用:
const data = {}
setData(key, value) {
Object.assign(data, {[key]: value});
}
顺便说一句,您可以像这样简单地设置数据:
setData(key, value) {
data[key] = value
}
答案 2 :(得分:0)
您已经提到要添加与调用setData一样多的值。听起来像是阵列工作。
您可以使用以下代码:
function setData(targetObj, propName, valueToAdd){
if(typeof targetObj[propName] === 'undefined'){
targetObj[propName] = [];
}
if(Array.isArray(targetObj[propName])){
targetObj[propName].push(valueToAdd);
}else{
console.log('property '+propName +' already exists and is not an array');
}
}
答案 3 :(得分:0)
您要执行的操作是实现HashMap或Dictionary。
我会这样做:
function setData(key, value)
{
if (data[key])
data[key].push(value)
else
data[key] = [ value ]
}
答案 4 :(得分:-1)
检查此解决方案
const data = {}
var fun = (key, value)=>{
data[key] = value;
}
fun('kk',123);
console.log(data);