给定这两个对象:
第一对象:
var firstObject = {
title: 'value1',
year: 'value2',
contributors: 'value3',
abstract: 'value4'
};
第二个对象:
var secondObject = {
title: 'Title',
year: 'Year',
contributors: 'Contributors',
abstract: 'Abstract'
};
如何创建这样结构的第三个对象?:
var thirdObject = {
Title: 'value1'
Year: 'value2',
Contributors: 'value3',
Abstract: 'value4'
};
基本上将secondObject的属性指定为thirdObject的键,将firstObject的属性分配为thirdObject的属性。
注意:我不想要firstObject键的任何大写字母。
您可以使用类似的东西:
var firstObject = {
title: 'value1',
year: 'value2',
contributors: 'value3',
abstract: 'value4'
};
var secondObject = {
title: 'Title',
year: 'Year',
contributors: 'Contributors',
abstract: 'Abstract'
};
var newObj = {};
$.each(secondObject, function(i){
newObj[this] = firstObject[i];
});
//Vanilla JS version
for(var x in secondObject){
newObj[secondObject[x]] = firstObject[x];
}
console.log(newObj);
http://jsfiddle.net/kq6tcp5L/
此处的示例。如果firstObject中不存在键,则此赋值为"。
var firstObject = {
title: 'value1',
year: 'value2',
contributors: 'value3',
abstract: 'value4'
};
var secondObject = {
title: 'Title',
year: 'Year',
contributors: 'Contributors',
abstract: 'Abstract',
extra:''
};
var thirdObject ={};
for(var key in secondObject)
{
if (secondObject.hasOwnProperty(key))
{
thirdObject[key] = (typeof firstObject[key] === "undefined")?"":firstObject[key];
}
}
console.log(thirdObject);