でプロパティ値を抽出します。jsが、私は、オブジェクトを持っている名前
{
name: "user",
facebook: {
followers: 2341
},
instagram: {
followers: 5345
}
}
にはどうすれば
(例えば、それはまた、代わりにログインfacebookのさえずりすることができる)明示的にパスを指定せずに、すべての信者の値の配列を取得することができます[2341, 5345]
でプロパティ値を抽出します。jsが、私は、オブジェクトを持っている名前
{
name: "user",
facebook: {
followers: 2341
},
instagram: {
followers: 5345
}
}
にはどうすれば
(例えば、それはまた、代わりにログインfacebookのさえずりすることができる)明示的にパスを指定せずに、すべての信者の値の配列を取得することができます[2341, 5345]
for..inループを使用してオブジェクトのすべてのプロパティをループし、followersプロパティがあるかどうかを確認し、最後にそのプロパティをリストに追加することになります。例:
let myObj = {
name: "user",
facebook: {
followers: 2341
},
instagram: {
followers: 5345
}
}
let followers = [];
for (var prop in myObj) {
if (myObj[prop].hasOwnProperty('followers') && typeof myObj[prop].followers === 'number'){
followers.push(myObj[prop].followers);
}
}
console.log(followers)
このスクリプトは、キーワード "信者" のすべての出現を検索し、配列に値追加...
var followers = {
name: "user",
facebook: {
followers: 2341,
test: {
followers: 1,
},
},
instagram: {
followers: 5345
}
};
var followerArray = [];
var getFollowers = function(obj) {
for (var node in obj) {
if (typeof obj[node] === 'object') {
getFollowers(obj[node]);
}
if (node === 'followers') {
followerArray.push(obj[node]);
}
}
}
getFollowers(followers);
console.log(followerArray);
はです彼らのネスティングの可能性、またはあなたがその深みに限定して示す構造ですか? – JAAulde
@JAAuldeはい、入れ子になっている可能性があります。ヒントをありがとう – Chris
答えは[こちら](https://stackoverflow.com/questions/684672/how-do-i-loop-through-or-enumerate-a-javascript-object) – Abk