如何在javascript中将对象数组中的键名更改为值,将值更改为键名
我有一组像这样的对象如何在javascript中将对象数组中的键名更改为值,将值更改为键名,javascript,arrays,node.js,underscore.js,Javascript,Arrays,Node.js,Underscore.js,我有一组像这样的对象 [{ "First Name": "fname", "Last Name": "lname" }, { "Root cause": "root" }, { "Comapany Name": "company" }] [{ "fname": "First Name", "lname": "Last Name" }, { "root": "Root cause" }, { "company": "Comapan
[{
"First Name": "fname",
"Last Name": "lname"
}, {
"Root cause": "root"
}, {
"Comapany Name": "company"
}]
[{
"fname": "First Name",
"lname": "Last Name"
}, {
"root": "Root cause"
}, {
"company": "Comapany Name"
}]
我想把上面的对象数组转换成这样
[{
"First Name": "fname",
"Last Name": "lname"
}, {
"Root cause": "root"
}, {
"Comapany Name": "company"
}]
[{
"fname": "First Name",
"lname": "Last Name"
}, {
"root": "Root cause"
}, {
"company": "Comapany Name"
}]
请任何人帮我一下。这个应该可以
var arr = [ {"First Name":"fname", "Last Name":"lname"},
{"Root cause":"root"},
{"Comapany Name":"company"}
];
var newArr = [];
for(var i = 0; i < arr.length; ++i) {
var obj = {};
for(key in arr[i]) {
if (arr[i].hasOwnProperty(key)) {
obj[arr[i][key]] = key;
}
}
newArr.push(obj);
}
var arr=[{“First Name”:“fname”,“Last Name”:“lname”},
{“根本原因”:“根本原因”},
{“公司名称”:“公司”}
];
var newArr=[];
对于(变量i=0;i
这应该可以
var arr = [ {"First Name":"fname", "Last Name":"lname"},
{"Root cause":"root"},
{"Comapany Name":"company"}
];
var newArr = [];
for(var i = 0; i < arr.length; ++i) {
var obj = {};
for(key in arr[i]) {
if (arr[i].hasOwnProperty(key)) {
obj[arr[i][key]] = key;
}
}
newArr.push(obj);
}
var arr=[{“First Name”:“fname”,“Last Name”:“lname”},
{“根本原因”:“根本原因”},
{“公司名称”:“公司”}
];
var newArr=[];
对于(变量i=0;i
您可以使用Object.keys
获取对象中的键数组。这可用于访问对象中的每个值
例如:
var newArray = myArray.map(function(obj){
var keys = Object.keys(obj);
var newObj = {};
keys.forEach(function(key){
var newKey = obj[key];
newObj[newKey] = key;
});
return newObj;
});
可以使用
Object.keys
获取对象中的键数组。这可用于访问对象中的每个值
例如:
var newArray = myArray.map(function(obj){
var keys = Object.keys(obj);
var newObj = {};
keys.forEach(function(key){
var newKey = obj[key];
newObj[newKey] = key;
});
return newObj;
});
您也可以使用一些库来完成此操作,例如下划线有一个反转函数。您也可以使用一些库来完成此操作,例如下划线有一个反转函数。此代码不创建新实例,它只是反转同一对象中的键:
var hash={'key1':'val1','key2':'val2'};
log('before',hash)
for(散列中的var键){
哈希[哈希[键]]=键;
删除散列[键];
}
console.log('after',hash)
此代码不创建新实例,它只是反转同一对象中的键:
var hash={'key1':'val1','key2':'val2'};
log('before',hash)
for(散列中的var键){
哈希[哈希[键]]=键;
删除散列[键];
}
log('after',hash)
您可以这样做
var arr1=[{“First Name”:“fname”,“Last Name”:“lname”},
{“根本原因”:“根本原因”},
{“公司名称”:“公司”}
]
var arr2=[];
对于(var i=0;i你可以这样做
var arr1=[{“First Name”:“fname”,“Last Name”:“lname”},
{“根本原因”:“根本原因”},
{“公司名称”:“公司”}
]
var arr2=[];
对于(var i=0;i,只需迭代所有对象数组,并将对象值交换为对象键:
var a=[{“名字”:“fname”,“姓氏”:“lname”},{“根本原因”:“Root”},{“公司名称”:“company”}];
a、 forEach(函数(o){
for(变量输入o){
o[o[键]]=键;
删除o[键];
}
});
console.log(a);
只需迭代所有对象数组,并将对象值交换为对象键:
var a=[{“名字”:“fname”,“姓氏”:“lname”},{“根本原因”:“Root”},{“公司名称”:“company”}];
a、 forEach(函数(o){
for(变量输入o){
o[o[键]]=键;
删除o[键];
}
});
console.log(a);
这应该有帮助-可能重复的应该有帮助-可能重复的