2017-11-05 11 views
-1

私はnewnumStringとnextnumStringを "&"と組み合わせる方法を理解しようとすると、この1つの問題を抱えています。いくつかのことを試した後、私は代入演算子+を使うことにしましたが、それは私に望ましい出力を与えていません。任意のアイデアをいただければ幸いです!使用する - 連結演算子または代入演算子または結合?

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" 
+0

これは、JavaScript何語ですか?あなたの関数(インプット)を呼び出す方法、現在のもの(現在のアウトプット)、そしてあなたが期待するもの(期待されるアウトプット)といった2つの例を見てみましょう。 – stealththeninja

答えて

0

は、あなただけの文字列を扱うことができます。次に例を示します。

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));

0

あなたは中間結果を格納する場合の配列を使用せずに、あなたは、単一のループでそれを行うことができますことを行うことができます。

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);

0

試してみてください!

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);