Javascript 如果映射项为null或空,则使用其他两个属性的concat的替代值

Javascript 如果映射项为null或空,则使用其他两个属性的concat的替代值,javascript,arrays,object,ecmascript-6,lodash,Javascript,Arrays,Object,Ecmascript 6,Lodash,这是我的代码,用于整理项目以准备提交到RESTful API: let mergeLinesData = this.incomingStepsData.map((item) => ({ dataStepId: _.get(item, 'stepId'), dataStepName: _.get(item, 'stepName'), name: _.get(item, 'itemName') })); 然而,一些用户可能还没有定义名称,所以我想退一步,在这一点上为n

这是我的代码,用于整理项目以准备提交到RESTful API:

let mergeLinesData = this.incomingStepsData.map((item) => ({
    dataStepId: _.get(item, 'stepId'),
    dataStepName: _.get(item, 'stepName'),
    name: _.get(item, 'itemName')
}));
然而,一些用户可能还没有定义名称,所以我想退一步,在这一点上为name设置一个默认值

如何像使用javascript变量(如

fruit = fruit || "strawberry";

默认值怎么可能是
dataStepName+“-”+dataStepId

只需向代码中添加一条条件语句,如示例所示:

name: _.get(item, "itemName") || `${dataStepName}-${dataStepId}`)
或者,使用
的第三个参数。get()


只需向代码中添加一条条件语句,如示例所示:

name: _.get(item, "itemName") || `${dataStepName}-${dataStepId}`)
或者,使用
的第三个参数。get()


我认为使用js比使用lodash更容易。您可以使用解构

let mergeLinesData = this.incomingStepsData.map(({stepId, stepName, itemName}) => ({
    dataStepId: stepId,
    dataStepName: stepName
    name: itemName || `${stepName}-${stepId}`
}));

我认为使用js比使用lodash更容易。您可以使用解构

let mergeLinesData = this.incomingStepsData.map(({stepId, stepName, itemName}) => ({
    dataStepId: stepId,
    dataStepName: stepName
    name: itemName || `${stepName}-${stepId}`
}));
您可以与和一起使用:

const incomingStepsData=[{stepId:1,stepName:'step1',name:'name1'},{stepId:2,stepName:'step2'}];
const mergeLinesData=incomingStepsData.map(({
stepId:dataStepId,
stepName:dataStepName,
名称:itemName=`${dataStepName}-${dataStepId}`
}) => ({
不温不火,,
数据步骤名称,
项目名称
}));
console.log(mergeLinesData)您可以与和一起使用:

const incomingStepsData=[{stepId:1,stepName:'step1',name:'name1'},{stepId:2,stepName:'step2'}];
const mergeLinesData=incomingStepsData.map(({
stepId:dataStepId,
stepName:dataStepName,
名称:itemName=`${dataStepName}-${dataStepId}`
}) => ({
不温不火,,
数据步骤名称,
项目名称
}));

console.log(mergeLinesData)
您使用的是
lodash
?然后在
get
中,您可以传递第三个参数,这是一个默认值。尽管我没有这方面的经验,但项目确实使用lodash-您能否提供第三个参数的示例,以及它如何基于始终可用的这两个VAL进行计算?谢谢您使用的是
lodash
?然后在
get
中,您可以传递第三个参数,这是一个默认值。尽管我没有这方面的经验,但项目确实使用lodash-您能否提供第三个参数的示例,以及它如何基于始终可用的这两个VAL进行计算?谢谢谢谢,这是我想到的路线,正在按预期工作!感谢KomalThanks,这是我想到的路线,并且正在按预期工作!谢谢科马尔