2017-02-20 21 views
-1

Как написать код в форме функции?Запись объекта в массив в виде функции

var obj = { 
    name : 'Tim', 
    age : 20, 
    hasPets : false 
}; 
console.log(Object.keys(obj).map(function(item){ 
    return obj[item]; 
})); //=> [ 'Tim', 20, false ] 

Для примера - это тип формы функции:

function objectToArray(obj) { 
//code here 
}; 

Спасибо!

+0

Не должно называться 'objToArray'? – Barmar

+0

Просто введите свой код в функцию arrayToObject? Что именно вы ожидаете от ввода-вывода? – Digix

+0

Ваш вопрос запутан. Вы хотите, чтобы объект массива (как подсказывает название), или массив для объекта (как указывает пример имени функции, который вы предлагаете)? – rasmeister

ответ

1

Это должно сделать

function getMappedItems(obj) { 
    var result = Object.keys(obj).map(function(item){ 
    return obj[item]; 
    }); 
return result; 
}; 

Можно уменьшить вышеприведенной функции немного, но только разработан, как вы учитесь.

https://jsfiddle.net/sureshatta/be7q88qv/

+0

Как насчет того, чтобы как минимум изменить имя функции, чтобы она соответствовала тому, что она делает? – rasmeister

1
var objectToArray= function (obj) { 
     return Object.keys(obj).map(function(item){ 
      return obj[item]; 
     }); 
}; 
0

Вы должны использовать Object.prototype.objectToArray для изящным способом.

var obj = { 
 
    name : 'Tim', 
 
    age : 20, 
 
    hasPets : false 
 
}; 
 

 
Object.prototype.objectToArray=function(){ 
 
    return Object.keys(obj).map(function(item){ 
 
     return obj[item]; 
 
    }); 
 
}; 
 
console.log(obj.objectToArray())

+0

Чувак, не изменяйте 'Object.prototype'. – Cerbrus

+0

@Cerbrus, Пожалуйста, объясните, почему нет? –

+0

@ Alexandru-IonutMihai Я просто знал, что вы понизьте меня за мое мнение xD FYI: Я не спустил вас вниз. –