_.map不返回对象数组,而是返回字符串

时间:2018-01-20 19:31:50

标签: javascript lodash

我有一个对象数组:

[{name:'john',age: 24}, {name:'arian', age: 34}]

我希望得到以下数组:

[{title:'john'},{title:'arian'}]

以下代码:

let tableData = {
  header: [{title: 'name'}],
  data: _.map(groups, group => {
    return group.name
  })
};

结果为:['john', 'arian']

但是这段代码:

let tableData = {
  header: [{title: 'name'}],
  data: _.map(groups, group => {
    return {title: group.name} // <-- this line changed
  })
};

返回数据的长度为0的数组。为什么会这样?是不是基本相同?

更新1

我如何获得群组:

const { groups } = this.props;

这是反应代码。

3 个答案:

答案 0 :(得分:1)

所述问题有一个非常简单的解决方案。你正在做对,但代码中几乎没有变化

var obj = [{name:'john',age: 24}, {name:'arian', age: 34}];
var result = _.map(obj,(value)=>{
    return {name:value.name};
});

答案 1 :(得分:0)

如果您希望结果数组的每个成员都是一个对象,那么您需要从@echo off setlocal enabledelayedexpansion set inDate=%2% set year=%inDate:~0,4% set month=%inDate:~4,2% set day=%inDate:~6,2% set "SourceFolder=D:\Adaptiv\EndofDay" set "DestinationFolder=D:\Some\Destination\Folder\" cd /D %SourceFolder% :: switch on the input parameter IF "%1"=="XXXX" GOTO XXXX :INVALIDPARAM ECHO Invalid Parameter: Script was called with an invalid parameter >> "%log%" exit 1 :NOPARAM ECHO Invalid Parameter(s): Script was called with 0 or 1 parameters Echo Usage: Command Action Reference_Date >> "%log%" exit 1 :XXXX ECHO Initiating %1 files movement >> "%log%" ECHO !year!-!month!-!day! >> "%log%" ::Move each trade file from the Source Folder to the Destination Folder move "%SourceFolder%\CVA_Calib_!year!-!month!-!day!*dat" %DestinationFolder% move "%SourceFolder%\CVA_Calib_!year!-!month!-!day!*txt" %DestinationFolder% move "%SourceFolder%\PFE_CALIB_DAT_!year!-!month!-!day!*dat" %DestinationFolder% move "%SourceFolder%\PFE_CALIB_DAT_!year!-!month!-!day!*txt" %DestinationFolder% endlocal 返回那种对象,就像那样简单。您使用map或纯 javascript版本的地图,答案是相同的:

lodash

或使用原生javascript数组映射

_.map(groups, o=>({'title': o.name}))

答案 2 :(得分:-4)

为什么不使用原生false

&#13;
&#13;
SecurityCritical
&#13;
&#13;
&#13;