2016-07-09 4 views
2

У меня есть array из objects,Lodash получить ключевые значения из массива объектов

var out = [{ 
    "type": "1", 
    "from": "13052033555", 
    "to": "4444444", 
    "amount": "40000", 
    "date": 1461575799, 
    "status": "1" 
    }, { 
    "type": "2", 
    "from": "13052033555", 
    "to": "1111111", 
    "amount": "30000", 
    "date": 1461575884, 
    "status": "1" 
    }... 
]; 

Я получаю только это значение без keys

Теперь я использовал эту функцию, чтобы получить значения из массива, как это, я прохожу массив, то он возвращает только значения без ключей

function foo(a) { 
    var values = []; 
    for (var i = 0; i < a.length; i++) { 
    var obj = a[i]; 
    var arr = Object.keys(obj).map(function(k) { 
     return obj[k] 
    }); 
    values.push("[" + arr + "],"); 
    } 
    return values.join(''); 
} 

затем он возвращает Wi значения данных thout ключи, как это,

[ ["1","13052033555","4444444","40000",1461575799,"1"], 
    ["2","13052033555","1111111","30000",1461575884,"1"], 
    ....] 

Вопрос: Как я могу изменить свою функцию Foo в lodash?

+0

'out.map (OBJ => _.values ​​(OBJ))' – gcampbell

+0

Другое решение 'out.map ((e) => Object.keys (e) .map ((key) => e [key]))' –

ответ

8

Использование _.values()

var out = [{ 
 
     "type": "1", 
 
     "from": "13052033555", 
 
     "to": "4444444", 
 
     "amount": "40000", 
 
     "date": 1461575799, 
 
     "status": "1" 
 
     }, { 
 
     "type": "2", 
 
     "from": "13052033555", 
 
     "to": "1111111", 
 
     "amount": "30000", 
 
     "date": 1461575884, 
 
     "status": "1" 
 
     } 
 
    ]; 
 

 
    for (var i = 0; i < out.length; i++) { 
 
     out[i] = _.values(out[i]); 
 
    } 
 
    
 

 
console.log(out)
<script src="https://cdn.jsdelivr.net/lodash/4.13.1/lodash.min.js"></script>

Смежные вопросы