如何在Javascript中显示金字塔?
我有一个这样的数组:如何在Javascript中显示金字塔?,javascript,Javascript,我有一个这样的数组: var数组=['1','3','4','10','2','5','9','7','8','6']; array=array.sort((a,b)=>parseInt(b)-parseInt(a)); 变量长度=4; var计数=0; var输出=”; 对于(变量i=0;i
var数组=['1','3','4','10','2','5','9','7','8','6'];
array=array.sort((a,b)=>parseInt(b)-parseInt(a));
变量长度=4;
var计数=0;
var输出=”;
对于(变量i=0;i函数generatePyramid(){
var totalNumberofRows=5;
var输出=”;
对于(var i=1;i,提供的数组长度始终应为自然数的总和(1+2+3+4…)
自然数:1,2,3,4,5
有效数组长度很少:3,6,10,15,21
Ex.
var array = ['1', '3', '4', '10', '2', '5', '9', '7', '8', '6'];
是否给出了数组?
var array = ['1', '3', '4', '10', '2', '5', '9', '7', '8', '6'];
var array = ['1', '3', '4', '2', '5', '6'];
var array = ['15', '1', '3', '13', '4', '10', '2', '14', '5', '9', '12', '7', '8', '6', '11'];
function generatePyramid(arr) {
var pyramidSize = getPyramidSize(arr.length),
sortedArray = array.sort(function(a, b) { return parseInt(b) - parseInt(a) }),
count = 0;
if (pyramidSize == -1) {
return false;
}
for (var i = 0; i < pyramidSize; i++) {
var row = "";
for (var j = 0; j < pyramidSize - i; j++) {
row += " " + sortedArray[count];
count++;
}
console.log(row);
}
}
function getPyramidSize(size) {
var sum = 0,
isNotSumOfNaturalNumbers = -1;
for (var i = 1; sum < size; i++) {
sum += i;
if (sum == size) { return i };
}
console.error("Error: Length of provided array should be sum of Natural Numbers(Ex. 1+2+3...)");
console.warn("Next valid array length : ", sum);
return isNotSumOfNaturalNumbers;
}
//Define any array and call the method
var array = ['15', '1', '3', '13', '4', '10', '2', '14', '5', '9', '12', '7', '8', '6', '11'];
generatePyramid(array);
15 14 13 12 11
10 9 8 7
6 5 4
3 2
1