2016-07-22 9 views
0

私はJSで昇順にいくつかの数字を並べようとしていますが、うまくいかず、次のコンソールログが表示されます:[1、2、3、6、9、1配列の項目をJS内で昇順に並べ替えます

var firstNum = 18; 
var secondNum = 72; 
var array = []; 
var otherArray = []; 

for (i = 0; i <= firstNum; i++) { 
    if(firstNum % i === 0) { 
     array.push(i); 
    } 
} 

for (j = 0; j <= secondNum; j++) { 
    if(secondNum % j ===0) { 
     array.push(j); 
    } 
} 

for (k = 0; k < array.length; k++) { 
    if(array[k] > array[k+1]) { 
     var temp = array[k]; 
     array[k] = array[k+1]; 
     array[k+1] = temp; 
     } 
    } 


console.log(array) 
console.log(otherArray) 

が助けに感謝:、ここ2、3、4、6、8、9、12、18、18、24、36、72]

コードです。あなたはこのようなコード変更することができます

+1

なぜ第一及び第二NUMですか? –

+0

どういう意味ですか? –

+0

どうしますか?または行う必要がありますか? –

答えて

0

for (i = 0; i <= arrayX.length-1; i++) 
    { 
    if (arrayX[i] > arrayX[i+1]) 
     { 
     temp = arrayX[i+1]; 
     arrayX[i+1] = arrayX[i]; 
     arrayX[i] = temp; 
     i = i-2; 
     } 
    } 

var firstNum = 18; 
 
var secondNum = 72; 
 
var array = []; 
 
var otherArray = []; 
 

 
for (i = 0; i <= firstNum; i++) { 
 
    if (firstNum % i === 0) { 
 
    array.push(i); 
 
    } 
 
} 
 

 
for (j = 0; j <= secondNum; j++) { 
 
    if (secondNum % j === 0) { 
 
    array.push(j); 
 
    } 
 
} 
 

 
for (i = 0; i <= array.length - 1; i++) { 
 
    if (array[i] > array[i + 1]) { 
 
    temp = array[i + 1]; 
 
    array[i + 1] = array[i]; 
 
    array[i] = temp; 
 
    i = i - 2; 
 
    } 
 
} 
 
alert(array)

はそれがあなたのお役に立てば幸いです:)

+0

array [0]> array [1]ならどうなりますか? –

0
Use otherArray also like 
for (j = 0; j <= secondNum; j++) { 
    if(secondNum % j ==0) { 
     otherArray.push(j); 

    } 
} 
then print by using the same logic of temp it will give individual array output in ascending order and if you want to join two array output then use concat/merge and then print 
関連する問題