簡體   English   中英

如何創建用戶提供的數字數組並將其映射到數字立方體的數組?

[英]How can I create an array of user-provided numbers and map that to an array of the numbers' cubes?

我的應用程序要求用戶提供一組數字。 用戶確定他們將提供多少個號碼,然后我相應地提示他們。 我想使用一個函數創建一個提供的輸入數字的數組。 然后,我想使用另一個函數來計算這些數字中的每一個的多維數據集,並將其放入新數組中。 我發現很難創建多維數據集數組。 誰能幫我這個?

 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); } document.writeln(BR + "The array of input values is: " + cc); document.writeln(BR + "The array of cubes is: " + xx); } main(); 

JavaScript Array map方法本機支持將一個數組轉換為另一個相同大小的數組,其中每個元素的翻譯功能都相同。 如果將轉換函數定義為cubing操作(在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> 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM