JS - Object.keys() 中的三元语句

Ade*_*del 1 javascript ecmascript-6 reactjs

当我将 aternary statement或 anif statement放入 Object.keys() 中时,如下所示:

 Object.keys(date).forEach((index) => {
        dates[date[index].id] !== undefined ?
          dates[date[index].id] =
          [...dates[dates[date[index].id], dates[date[index].name]
          : null;
      });
Run Code Online (Sandbox Code Playgroud)

我从 Linter 收到此错误:

Expected an assignment or function call and instead saw an expression. (no-unused-expressions)
Run Code Online (Sandbox Code Playgroud)

当我使用常规 if 语句时,出现此错误,

Parsing error: Unexpected token (Fatal)
Run Code Online (Sandbox Code Playgroud)

为什么?

Ori*_*ori 5

您已复制dates并在作业中丢失了一些括号:

dates[date[index].id] = [...dates[dates[date[index].id], dates[date[index].name]
Run Code Online (Sandbox Code Playgroud)

应该是:

dates[date[index].id] = [..dates[date[index].id], dates[date[index].name]]
Run Code Online (Sandbox Code Playgroud)

演示:

Object.keys(date).forEach((index) => dates[date[index].id] !== undefined ?
        dates[date[index].id] = [...dates[date[index].id], dates[date[index].name]] : null);
Run Code Online (Sandbox Code Playgroud)