8 回答
TA贡献1875条经验 获得超5个赞
function mergeJsonObject(...args) {
let resultJsonObject = {};
function jsonObj(jsonObj) {
for (let attr in jsonObj) {
resultJsonObject[attr] = jsonObj[attr];
}
}
args.forEach(jsonObj)
return resultJsonObject;
}
TA贡献1845条经验 获得超8个赞
function mergeJsonObject(...jsonObjs) {
let resultJsonObject = {};
jsonObjs.forEach(function(jsonObj) {
for (let attr in jsonObj) {
resultJsonObject[attr] = jsonObj[attr];
}
})
return resultJsonObject;
}
更简化一点的,直接
Object.assign({}, jsonObj1, jsonObj2)
TA贡献1982条经验 获得超2个赞
看以什么规范,如果 ES6 的话可以:
function merge(...jsons) {
return jsons.reduce((memo, json) => {
return Object.assign(memo, json);
}, {});
}
TA贡献1853条经验 获得超18个赞
function mergeJsonObject(...args) {
let resultJsonObject = {}
args.map(function(val){
Object.assign(resultJsonObject, val)
})
return resultJsonObject
}
TA贡献1829条经验 获得超9个赞
function mergeJsonObject(jsonObj1, jsonObj2, jsonObj3, jsonObj4, jsonObj5) {
let resultJsonObject = {};
let allJson=arguments;
for(let index in allJson){
for(let attr in allJson[index]){
resultJsonObject[attr] = allJson[index][attr];
}
}
return resultJsonObject;
}
TA贡献1827条经验 获得超7个赞
例子参考一下,看看是不是你想要的
var aa = function(){
for (var i=0; i<arguments.length; i++){
if (typeof (arguments[i]) == "object"){
console.log(arguments[i])
}
}
}
TA贡献1874条经验 获得超12个赞
同属性覆盖与否的问题没有解决
const mereJsons = () {
const args = [...arguments];
return args.reduce((prev, current) => {
for(let key in current){
prev[key] = current[key];
}
return prev;
});
}
TA贡献1803条经验 获得超6个赞
function merge() {
var args = [];
for (var _i = 0; _i < arguments.length; _i++) {
args[_i] = arguments[_i];
}
var merged = {};
function generateObject(target, object) {
if (target === void 0) { target = {}; }
for (var key in object) {
if (object.hasOwnProperty(key)) {
target[key] = object[key];
}
}
return target;
}
for (var i = 0; i < args.length; i++) {
var arg = args[i];
if (arg) {
if (isArray(arg)) {
for (var i_1 = 0; i_1 < arg.length; i_1++) {
var argItem = arg[i_1];
if (isPlainObject(argItem)) {
merged = generateObject(merged, argItem);
}
else if (!isDate(argItem)) {
merged[argItem] = argItem;
}
}
}
else if (isPlainObject(arg)) {
merged = generateObject(merged, arg);
}
else if (isString(arg) || isNumber(arg)) {
merged[arg] = arg;
}
}
}
return merged;
}
添加回答
举报