2017-10-26 6 views
1

私は、これらのオブジェクトを持っている:プロパティ名を2つ(定数は1つ)含むオブジェクトでプロパティ名を選択するにはどうすればよいですか?

{id: 74856, dog: "value"} 

{id: 756387, cat: "value"} 

{car: "value", id: 098094} 

{phone: "value", id: 90876} 

私は各オブジェクトが2つの特性を有し、そのうちの一つが「ID」であることを知っています。各オブジェクトで他のプロパティ名を選択するにはどうすればよいですか? (私は最初の1つは「犬」、2番目の人は「猫」、3番目の人は「車」、最後の人は「電話」を得たい)。

EDIT:必要でない場合、ロダッシュは必須ではありません。

ありがとうございました!

答えて

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); 
 
})

2

これは

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));

(ES6で) "ID" と命名されていない第一の対象部材を返します
関連する問題