-2

对象 1:

var obj1 = {
  location : 'lol',
  radius : '22'
}

对象 2:

var obj2 = {
  location : 'omg',
  spice : 'gravey',
  radius : '8'
}

obj1我需要一个递归函数来更新与from匹配的属性的值obj2

obj1 = update(obj1,obj2);

//console.log(obj1);
//{
//  location : 'omg',
//  radius : '8'
//}

请仅使用本机 JavaScript。

4

2 回答 2

1

这很简单。只需遍历第一个对象,并使用来自第二个对象的值(如果它们存在)。

function update(obj1, obj2){
    var ret = {};
    for(var prop in obj1){
        ret[prop] = obj2[prop] || obj1[prop];
    }
    return ret;
}
于 2013-05-30T20:55:00.577 回答
1

怎么样

function update(o1, o2){
    var temp = {};
    for(var key in o1){
        if (o1.hasOwnProperty(key)){
            temp[key] = o1[key];
            if (o2.hasOwnProperty(key)){
                temp[key] = o2[key];
            }
        }
    }
    return temp;
}
于 2013-05-30T20:57:04.433 回答