【发布时间】:2017-11-10 00:08:56
【问题描述】:
我有一个对象
const pipe = {
diameter: 200,
C: 120,
length: 40,
accesories: [
{name: "Bend 90°", k: 0.9, qtty: 2},
{name: "Gate Valve", k: 0.3, qtty: 1},
{name: "Butterfly valve", k: 0.2, qtty: 1}
]
}
我需要检查所有附件并用 k 计算一个值,例如 value = k * qtty。
当我执行以下操作时,它不起作用
const perdidaslocales = (accesorio) => {accesorio.name, accesorio.k * accesorio.qtty}
const accesorieslosses = pipe.accesories.map(perdidaslocales);
我得到了配件损失 [未定义,未定义,未定义] 感谢您的帮助
【问题讨论】:
-
{accesorio.name, accesorio.k * accesorio.qtty}完全没有意义...用accesorio.k * accesorio.qtty替换它 -
我需要在新的对象数组中,取值的名称
-
如果
perdidaslocales需要返回一个OBJECT,将返回值包裹在()....并使其成为有效对象,即...({name: accesorio.name, value: accesorio.k * accesorio.qtty}) -
但是由于您已经在使用一些 ES2015+ 概念,
const perdidaslocales = ({name, k, qtty}) => ({name, value: k * qtty}); -
将尝试第二个选项,因为第一个我得到了意外的令牌,预期的错误
标签: javascript object dictionary ecmascript-6 arrow-functions