说我有一个变量
data=[]
//this variable is an array of object like
data = [
{name:'a',value:'aa'},
{name:'b',value:'bb'}
]
// the data structrue can not be changed and the initial value is empty
现在我想更新数据
function updateData(){
if(!data.length){
data.push(arguments)
}
else{
//this parts really confuse me
}
}
此函数必须接受任意数量的参数,并且数据中对象的顺序与更新规则无关 :
- 如果它们具有相同的名称,则将对象值更新为参数值。
- 如果数据中没有对象具有相同的名称,则将参数添加到数据中。
这个函数怎么写?
updateData([
{name:'a',value:'aa'},
{name:'b',value:'bb'}
])
// expect data = [
{name:'a',value:'aa'},
{name:'b',value:'bb'}
]
updateData([
{name:'a',value:'aa'},
{name:'b',value:'DD'},
{name:'c',value:'cc'}
] )
// expect data = [
{name:'a',value:'aa'},
{name:'b',value:'DD'},
{name:'c',value:'cc'}
]