javascript函数,不会返回值吗?

rnmwe5a2  于 2021-09-13  发布在  Java
关注(0)|答案(1)|浏览(281)

我试图简化javascript函数,使其更具可读性
目前我正在尝试更改下面的函数。

export default function generateSentimentLineGraphPoints(items) {
  /**
   * Generate array of 24 Zeros
   */
  let values = Array.apply(null, Array(24)).map(Number.prototype.valueOf, 0);
  const nOfEntries = Array.apply(null, Array(24)).map(
    Number.prototype.valueOf,
    1
  ); 
.....
}

要更简单地使用此功能,

function generateTime() {
  /**
   * Generate array of 24 Zeros
   */
  let values = Array.apply(null, Array(24)).map(Number.prototype.valueOf, 0);
  const nOfEntries = Array.apply(null, Array(24)).map(
    Number.prototype.valueOf,
    1
  );
  return values, nOfEntries;
}

具有

function generateTime() {
  /**
   * Generate array of 24 Zeros
   */
  let values = Array.apply(null, Array(24)).map(Number.prototype.valueOf, 0);
  const nOfEntries = Array.apply(null, Array(24)).map(
    Number.prototype.valueOf,
    1
  );
  return values, nOfEntries;
}

由于某种原因,这不起作用-我不知道为什么,它无法正确加载图形。有什么想法吗?

7hiiyaii

7hiiyaii1#

return values, nOfEntries; 返回的值 nOfEntries ,它不会返回 values 完全javascript函数只能返回一件事。这里使用的是逗号运算符,它计算其左侧操作数( values ),丢弃结果,然后计算其右操作符( nOfEntries )并将该结果作为操作结果。
要返回多个值,请将它们 Package 在数组或对象中:

return [values, nOfEntries];

return {values, nOfEntries};

旁注:创建用给定值填充的数组的代码不必要地复杂。回到过去,它可能只是一个使用循环的函数,但现在你可以使用 Array.prototype.fill :

let values = Array(24).fill(0);

相关问题