2014-10-31 14 views
0

我的應用程序讓用戶提供一組數字。用戶確定他們將提供多少個號碼,然後我相應地提示他們。我想用函數創建一個提供的輸入數字的數組。然後我想使用另一個函數來計算每個數字的立方體,並將它們放入一個新的數組中。我發現很難創建立方體數組。誰能幫我這個?如何創建用戶提供的數字數組並將其映射到數字立方體數組?

var BR = "<br />"; 
 
var ES = " "; 
 
/********* FUNCTIONS *********/ 
 
// Enter any functions in this region 
 

 
function fncube(c) { 
 
    var result = 1; 
 
    var tro; 
 
    for (var j = 0; j < c.length; j++) { 
 
     result = c[j] * c[j] * c[j]; 
 
     tro = new Array(result); 
 
    } 
 
    return tro; 
 
} 
 

 
function displayarray(d) { 
 
    
 
    var mm = new Array(); 
 
    for (var m = 1; m < d.length; m++) { 
 
     mm = mm.push[m]; 
 
     
 
    } 
 
    return mm; 
 
    
 
} 
 

 
/********* MAIN *********/ 
 
function main() { 
 
    
 
    var userinput = new Array(); 
 
    //var m = new Array(); 
 
    var usersize; 
 
    var tilavg; 
 
    
 
    usersize = parseInt(window.prompt("Enter number of cubes you would like to make: ")); 
 
    
 
    for (var i = 0; i < usersize; i++) { 
 
     userinput[i] = parseInt(window.prompt("Enter your number #: " + (i + 1))); 
 
     
 
     document.writeln(BR + "Number you entered " + " for making cube is : " + userinput[i] + ES) 
 
     document.writeln(BR + "The cube is " + fncube(userinput) + ES); 
 
     var cc = fncube(userinput); 
 
     xx = new Array(cc); 
 
     //var z = displayarray(cc); \t 
 
     
 
    } 
 
    document.writeln(BR + "The array of input values is: " + cc); 
 
    document.writeln(BR + "The array of cubes is: " + xx); 
 
} 
 
main();

+0

如何從任何其他陣列不同的立方體的陣列?你將如何創建一個輸入數字數組? – 2014-10-31 03:58:40

+0

Thankyou迴應,這是我試過的代碼: – staybnyc 2014-10-31 04:53:23

回答

0

JavaScript的數組map方法本身支持轉化的陣列,以相同大小的另一陣列,其中翻譯功能是爲每個元素是相同的。如果您將轉換函數定義爲立方操作(在JS中爲Math.pow(x, 3)),那麼您可以輕鬆地將一個數組轉換爲另一個數組。

考慮下面的例子。我使用jQuery的map版本將input元素轉換爲其值的數組,然後使用JS map方法將該數組轉換爲包含所有值的多維數據集的數組。試一試。一旦你瞭解了map是如何工作的,你應該能夠調整這個以適應你的用例。

$(function() { 
 
    $("input").change(function() { 
 
     var nums = $("input").map(function() { 
 
      return this.value || undefined; 
 
     }).get(); 
 

 
     $("#nums").text(nums); 
 
     $("#cubes").text(nums.map(function(i) { 
 
      return Math.pow(i, 3); 
 
     })); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> 
 
<h4>Enter four numbers</h4> 
 
<input /><br /> 
 
<input /><br /> 
 
<input /><br /> 
 
<input /> 
 
<div id="nums"></div> 
 
<div id="cubes"></div>

+0

Thankyou nbrooks!你能夠使用不使用math.powfunction的for循環來幫助創建多維數據集嗎? – staybnyc 2014-10-31 05:04:43

+0

@staybnyc Math.pow有什麼問題?無論如何,立方體很容易計算:'Math.pow(i,3)'與'i * i * i'完全相同(只是看起來更好)。 – nbrooks 2014-10-31 05:40:50

+0

它的任務,所以我們必須計算沒有math.pow,生病嘗試與我*我*我,謝謝! – staybnyc 2014-10-31 16:36:16