我有这些对象:
{id: 74856, dog: "value"}
{id: 756387, cat: "value"}
{car: "value", id: 098094}
{phone: "value", id: 90876}
我知道每个对象都有2个属性,其中一个是“id”。如何在每个对象中选择其他属性名称? (我希望第一个获得结果“dog”,第二个获得“cat”,第三个获得“car”,最后一个获得“phone”。)
编辑:如果没有必要,不必强制使用lodash。
谢谢!
答案 0 :(得分:2)
这将返回未命名为“id”的第一个对象成员(在ES6中)
let v1 = {id: 74856, dog: "value"};
let v2 = {id: 756387, cat: "value"};
let v3 = {car: "value", id: 98094};
let v4 = {phone: "value", id: 90876};
const excludeIdKey = (key) => key !== "id" ? key : null;
// will return "dog"
console.log(Object.keys(v1).find(excludeIdKey));
// will return "cat"
console.log(Object.keys(v2).find(excludeIdKey));
// will return "car"
console.log(Object.keys(v3).find(excludeIdKey));
// will return "phone"
console.log(Object.keys(v4).find(excludeIdKey));
答案 1 :(得分:1)
您可以使用Object.keys
获取所有密钥并删除'id'。
var v1 = {id: 74856, dog: "value"};
var v2 = {id: 756387, cat: "value"};
var v3 = {car: "value", id: 098094};
var v4 = {phone: "value", id: 90876};
Object.keys(v1).map(function(key){
if(key != 'id')
console.log(key);
})
Object.keys(v2).map(function(key){
if(key != 'id')
console.log(key);
})
Object.keys(v3).map(function(key){
if(key != 'id')
console.log(key);
})
Object.keys(v4).map(function(key){
if(key != 'id')
console.log(key);
})