У меня есть следующие объекты:
{id: 74856, dog: "value"}
{id: 756387, cat: "value"}
{car: "value", id: 098094}
{phone: "value", id: 90876}
Я знаю, что каждый объект имеет 2 свойства и один из них - "id". Как выбрать другое имя свойства в каждом объекте? (Я хочу получить результат "собака" для первого, "кошка" для второго, "автомобиль" для третьего и "телефон" для последнего).
EDIT: использование lodash не является обязательным, если не нужно.
Спасибо!
Вы можете получить все ключи с помощью 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);
})
Это возвращает первый объект-член, который не назван "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));