【问题标题】:How can I return "1-5" if the array is [1,2,3,4,5] in JavaScript?如果数组在 JavaScript 中是 [1,2,3,4,5],我如何返回“1-5”?
【发布时间】:2022-11-15 13:18:04
【问题描述】:

如果我给[1,2,3,4,5],我正在尝试制作一个返回["1-5"] 的程序。

我已经做到了,但我无法过滤它。所以我想要一个代码过滤我的输出代码.或者任何比我更好的代码.

let array = [1,2,3,5,6,7,8,10,11, 34, 56,57,];
let x = [];

for(let i = 0; i < array.length; i++){
  for(let j = 0; j < array.length; j++){
    if(array[i] + j == array[j]){
       x.push(array[i] + "-" + array[j]);
    }
    if(array[j] > array[i] + j && array[j + 1]){
      let y = array.slice(j, array.length)
      array = y;
      i, j = 0;
    }
    if(array[i] - array[i + 1] != -1 && array[i + 1] - array[i] != 1 && array[i + 1] != undefined){
      x.push(array[i]);
    }
  }
}

console.log(x);

【问题讨论】:

  • 如果你给[1,2,3,4,5, 8,9,10]呢?还是[1,2,3,4,5,12]?甚至[1,3,4,5]?您问题中的数组似乎比您问题中的数组更复杂,并且您没有解释 - 甚至没有显示 - 预期的输出。
  • [1,2,5,3]

标签: javascript arrays sorting filter filtering


【解决方案1】:

输入:[1,2,3,4,5]

输出:[“1-5”]

所以我假设你想获取格式的字符串: ["smallestelement-largestelement"]

var input1 = [1,2,3,4,5]
console.log( "["+'"'+Math.min(...input1)+"-"+Math.max(...input1)+'"'+"]")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-09-26
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    • 2023-01-01
    • 1970-01-01
    相关资源
    最近更新 更多