توضیح:
این تابع از توابع جدید es6 می باشد.
این تابع یک Array Iterator که هر کدام دارای کلید مخصوص هستند.با استفاده از متد next می توان به آیتم بعدی رفت.
با استفاده از دستور for…of می توان یک Array Iterator را پیمایش کرد.
این تابع آرایه اصلی را تغییر نمی دهد.
آیجکت یا Object نیز دارای متدی به نام keys می باشد که بصورت Object.keys(array) در دسترس است.این متد در این حالت یک پارامتر بعنوان آرایه دریافت می کند.
نکته ای که درباره کلیدهای بازگشتی از Object.keys(array) وجود دارد این است که در صورت یک آرایه empty در خروجی کلید آن را برگشت نمی دهد.
مثال:
1 2 3 |
var arr = ['a', , 'c']; var sparseKeys = Object.keys(arr); //['0', '2'] |
1 2 3 4 5 6 7 8 9 10 |
var name = "amir"; for(x of name){ console.log(x); } /* a m i r */ |
1 2 3 |
var name = "amir javanmir"; Object.keys(name.split(" ")) //[0,1] |
نحوه نوشتن:
1 |
array.keys(); |
پارامترها:
ندارد
مقدار بازگشت:
یک Array Iterator که دارای کلید آرایه است
وضعیت پشتیبانی از مرورگرها:
مرورگر Chrome | مرورگر Firefox | مرورگر IE | مرورگر Edge | مرورگر Safari | مرورگر Opera |
---|---|---|---|---|---|
همگی | همگی | همگی | همگی | همگی | همگی |
مثال:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
const fullName = ["amir", "javanmir", "tehran", "Mango"]; const keys = fullName.keys(); let text = ""; for (let x of keys) { text += x + "<br>"; } document.getElementById("demo").innerHTML = text; /* 0 1 2 */ |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
const fullName = ["amir", "javanmir", "tehran", "Mango"]; const keys = Object.keys(fullName); let text = ""; for (let x of keys) { text += x + "<br>"; } document.getElementById("demo").innerHTML = text; /* 0 1 2 3 */ |