使用哪个 - 连接或赋值运算符或加入



我被困在这个特定的问题上,试图弄清楚如何将我的newnumString和nextnumString与"&"组合在一起。在尝试了几件事之后,我决定使用赋值运算符 +,但它没有给我所需的输出。任何想法将不胜感激!

function decrementAnd(num) {
  var newnumArray = [];
  for (var i = num; i >= 1; i--) {
    newnumArray.push(i);
    var newnumString = newnumArray.join("");//987654321
      for (var j = i - 1; j >= 1; j--) {
      newnumArray.push(j);
      var nextnumString = newnumArray.join("");//98765432187654321..
      }
    }
  console.log(newnumString + "&" + nextnumString)
}
decrementAnd(9);

预期产出:

// 5="54321&4321&321&21&1"
// 3="321&21&1"
// 9="987654321&87654321&7654321&654321&54321&4321&321&21&1"
你不需要

做连接和处理数组,你可以只处理一个字符串。下面是一个示例:

function decrementAnd(num) {
  var numbers = "";
  for (var i = num; i >= 1; i--) {
      for (var j = i; j >= 1; j--) {
         numbers += j;
      }
      numbers+="&";
  }
  //Delete last &
  return numbers.slice(0,-1);
}
console.log("3=", decrementAnd(3));
console.log("5=", decrementAnd(5));
console.log("9=", decrementAnd(9));

您可以在不使用数组的情况下做到这一点,如果您存储中间结果,则可以使用单个循环来完成:

function decrementAnd(num) {
  var result="", numbers="";
  for (var i = 1; i <= num; i++) {
    numbers=i.toString()+numbers;
    result=numbers+"&"+result;
  }
  result=result.substring(0,result.length-1); // removing extra "&" at the end
  console.log(result);
}
decrementAnd(3);
decrementAnd(5);
decrementAnd(9);

试试看!!

function decrementAnd(num) {
  var newStrinArray = [];
  for(var i= num; i>=1;i--){
  var newnumArray = [];
  for(var j= i; j>=1;j--){
  newnumArray.push(j);
  }
  newStrinArray.push(newnumArray.join("") + "&"); 
  }
  console.log(newStrinArray.join(""));
}
decrementAnd(9);

相关内容

  • 没有找到相关文章