编写这个 Javascript 函数的更简洁的方法

Cleaner way to write this Javascript function

正在寻找 better/cleaner/simpler 的写法:

const line1 = 'a string';
const line2 = 'a second string';
const line3 = 'a third string';

  const howManyLinesToRender = (line) => {
   if (line === 1) return [line1];
   if (line === 2) return [line1, line2];
   if (line === 3) return [line1, line2, line3]; 

您可以使用 switch 语句

const howManyLinesToRender = (line) => {
    switch (line) {
        case 1: return [line1]
        case 2: return [line1, line2];
        case 3: return [line1, line2, line3];
    }
}

更简单的方法是使用开关:

const howManyLinesToRender = (line) => {
   switch (line) {
    case 1: return [line1]
    case 2: return [line1, line2];
    case 3: return [line1, line2, line3];
  }
}

但是正如 CRice 在您的问题的评论中指出的那样,这个例子也可以通过以下方式满足:

return [line1, line2, line3].slice(0, line)

这是一个更干净的内衬。

您可以使用 slice() 方法。 slice() 方法 returns 选中一个数组中的元素,作为一个新的数组对象。

slice() 方法选择从给定的开始参数开始,并在给定的结束参数结束(但不包括)的元素。

var arr=[line1, line2, line3];
return arr.slice(0, line);

return [line1, line2, line3].slice(0,line);