Files
freeCodeCamp/guide/russian/javascript/standard-objects/object/object-getownpropertynames/index.md
2018-10-16 21:32:40 +05:30

2.8 KiB
Raw Blame History

title, localeTitle
title localeTitle
Object getOwnPropertyNames Объект getOwnPropertyNames

Метод Object.getOwnPropertyNames() возвращает массив всех свойств (перечисляемых или нет), найденных непосредственно на заданном объекте.

Синтаксис

Object.getOwnPropertyNames(obj) 

параметры

OBJ

Объект, чьи перечислимые и неперечислимые собственные свойства должны быть возвращены.

Ссылка MDN | Ссылка MSDN

Описание

Object.getOwnPropertyNames() возвращает массив, чьи элементы являются строками, соответствующими перечислимым и неперечислимым свойствам, найденным непосредственно на объекте. Порядок перечисляемых свойств в массиве согласуется с порядком, выставленным с помощью цикла for...in (или Object.keys() ) над свойствами объекта. Порядок неперечислимых свойств в массиве и среди перечислимых свойств не определен.

Примеры

var arr = ['a', 'b', 'c']; 
 console.log(Object.getOwnPropertyNames(arr).sort()); // logs '0,1,2,length' 
 
 // Array-like object 
 var obj = { 0: 'a', 1: 'b', 2: 'c' }; 
 console.log(Object.getOwnPropertyNames(obj).sort()); // logs '0,1,2' 
 
 // Logging property names and values using Array.forEach 
 Object.getOwnPropertyNames(obj).forEach(function(val, idx, array) { 
  console.log(val + ' -> ' + obj[val]); 
 }); 
 // logs 
 // 0 -> a 
 // 1 -> b 
 // 2 -> c 
 
 // non-enumerable property 
 var my_obj = Object.create({}, { 
  getFoo: { 
    value: function() { return this.foo; }, 
    enumerable: false 
  } 
 }); 
 my_obj.foo = 1; 
 
 console.log(Object.getOwnPropertyNames(my_obj).sort()); // logs 'foo,getFoo' 
 
 function Pasta(grain, size, shape) { 
    this.grain = grain; 
    this.size = size; 
    this.shape = shape; 
 } 
 
 var spaghetti = new Pasta("wheat", 2, "circle"); 
 
 var names = Object.getOwnPropertyNames(spaghetti).filter(CheckKey); 
 document.write(names); 
 
 // Check whether the first character of a string is 's'. 
 function CheckKey(value) { 
    var firstChar = value.substr(0, 1); 
    if (firstChar.toLowerCase() == 's') 
        return true; 
    else 
         return false; 
 } 
 // Output: 
 // size,shape