में ES6 / 2015 आप इस तरह एक वस्तु के माध्यम से लूप कर सकते हैं: (का उपयोग करते हुए तीर समारोह )
Object.keys(myObj).forEach(key => {
console.log(key); // the name of the current key.
console.log(myObj[key]); // the value of the current key.
});
jsbin
में ES7 / 2016 आप उपयोग कर सकते हैं Object.entries
के बजाय Object.keys
इस तरह एक वस्तु के माध्यम से और पाश:
Object.entries(myObj).forEach(([key, val]) => {
console.log(key); // the name of the current key.
console.log(val); // the value of the current key.
});
ऊपर भी एक लाइनर के रूप में काम करेगा :
Object.entries(myObj).forEach(([key, val]) => console.log(key, val));
jsbin
यदि आप नेस्टेड ऑब्जेक्ट्स के माध्यम से भी लूप करना चाहते हैं, तो आप पुनरावर्ती फ़ंक्शन (ES6) का उपयोग कर सकते हैं :
const loopNestedObj = obj => {
Object.keys(obj).forEach(key => {
if (obj[key] && typeof obj[key] === "object") loopNestedObj(obj[key]); // recurse.
else console.log(key, obj[key]); // or do something with key and val.
});
};
jsbin
ऊपर फ़ंक्शन के समान, लेकिन इसके बजाय ES7 के साथ :Object.entries()
Object.keys()
const loopNestedObj = obj => {
Object.entries(obj).forEach(([key, val]) => {
if (val && typeof val === "object") loopNestedObj(val); // recurse.
else console.log(key, val); // or do something with key and val.
});
};
यहां हम नेस्टेड ऑब्जेक्ट्स के माध्यम से लूप बदलते हैं और वैल्यू बदलते हैं ( ES10 / 2019 ) के Object.entries()
साथ मिलकर एक नए ऑब्जेक्ट को वापस करते हैं :Object.fromEntries()
const loopNestedObj = obj =>
Object.fromEntries(
Object.entries(obj).map(([key, val]) => {
if (val && typeof val === "object") [key, loopNestedObj(val)]; // recurse
else [key, updateMyVal(val)]; // or do something with key and val.
})
);