Выдвинуть все значения из объекта в массив? (JavaScript)

Выдвинуть все значения из объекта в массив? (JavaScript)

На каждой итерации цикла for in переменной k присваивается следующее имя свойства во input объекта, поэтому вы должны нажать input[k] . В случае, если у объекта есть свойства из его прототипа, и вам нужно только hasOwnProperty собственные свойства объектов в массив (это, вероятно, то, что вы хотите сделать), вы должны использовать hasOwnProperty .

 var input: {two: 2, four: 4, three: 3, twelve: 12} var myArr = []; for (var k in input) { // if( input.hasOwnProperty( k) ) { //not necessary myArr.push( input[k] ); // } } 

Имейте for in виду, что цикл for in для объекта в произвольном порядке, т. Е. Порядок элементов в массиве может отличаться от ожидаемого.

Смотрите также: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for…in

РЕДАКТИРОВАТЬ: как Alnitak упомянул в комментарии к OP, вероятно, в настоящее время нет необходимости использовать hasOwnPropery() .

Понравилась статья? Поделиться с друзьями:
JavaScript & TypeScript
Adblock
detector