給出一個數組lodash地圖,並挑選
var test = [{a:1, b:2, c:3}, {a:4, b:5, c:6}, {a:7, b:8, c:9}]
如何獲取新的對象像[{b:2, c:3}, {b:5, c:6}, {b:8, c:9}]
與lodash一個數組?
我試過_.map(test, _pick(???, ['b', 'c'])}
我應該在???
中輸入什麼?
給出一個數組lodash地圖,並挑選
var test = [{a:1, b:2, c:3}, {a:4, b:5, c:6}, {a:7, b:8, c:9}]
如何獲取新的對象像[{b:2, c:3}, {b:5, c:6}, {b:8, c:9}]
與lodash一個數組?
我試過_.map(test, _pick(???, ['b', 'c'])}
我應該在???
中輸入什麼?
您需要將函數傳遞給map並使用ES6才能使用這樣的箭頭函數。
var test = [{a:1, b:2, c:3}, {a:4, b:5, c:6}, {a:7, b:8, c:9}]
var result = _.map(test, e => _.pick(e, ['b', 'c']))
console.log(result)
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.15.0/lodash.min.js"></script>
你並不需要使用lodash如果你不想過多,如果您使用巴貝爾(ES6),您可以用解構主義來解決問題
var test = [{a:1, b:2, c:3}, {a:4, b:5, c:6}, {a:7, b:8, c:9}]
let newList = test.map(({b, c})=>{
return {b,c}
});
document.body.append(JSON.stringify(newList));
_.chain(test).map(function(e){return _.pick(e, ['b','c'])}).value();
這與問題無關,這可以通過ES6輕鬆完成。
test.map(({ b, c }) => {
return { b, c }
});
https://lodash.com/docs#map https://lodash.com/docs#pick –