鍍金池/ 問(wèn)答/HTML/ Js怎么做這題目,4444 333 22 1 22 3334444用JS

Js怎么做這題目,4444 333 22 1 22 3334444用JS怎么做。我只會(huì)做1以上那半求大神

4444
333
22
1
22
333
4444
我只會(huì)做1上面那半

回答
編輯回答
抱緊我

答案


function tree(n){

for(var i=n;i>0;i--){
    var str = '';
    for(var j=0;j<i;j++){
        str += i;
    }
    console.log(str);
}
for(var k=2;k<n+1;k++){
    var str2 = '';
    for(var l=0;l<k;l++){
        str2 += k;
    }
    console.log(str2);
}

}

2018年7月9日 01:51
編輯回答
尋仙

最簡(jiǎn)單的遞歸方法
(function(n) {

            for(let i = n; i > 0; i--){
                for(var j = 0; j < i; j++)
                    document.write(i + '   ')
                document.write('<br/>');
            }
            for(let i = 2; i < n+1; i++){
                for(let j = 0; j < i; j++)
                    document.write(i + '   ')
                document.write('<br/>');
            }
        })(4);
2017年4月9日 07:51
編輯回答
孤客

來(lái)個(gè)es6

var arr = []

// 生成倒序的
for (let i = 5; i > 0; i--) {
  arr.push((i+'').repeat(i))
}

// 刪除最小的,然后再倒序,在拼接
arr.push(...arr.slice(0, -1).reverse())
2018年4月30日 01:01
編輯回答
綰青絲

來(lái)寫(xiě)一個(gè)函數(shù)式的實(shí)現(xiàn)。

let _ = require('lodash')

function repeat (value) {
    return _.map(_.range(value), () => value)
}

// 最后
console.log(repeat(4).join(''))
console.log(repeat(3).join(''))
console.log(repeat(2).join(''))
console.log(repeat(1).join(''))
console.log(repeat(2).join(''))
console.log(repeat(3).join(''))
console.log(repeat(4).join(''))

哈哈哈

2018年3月24日 02:05
編輯回答
做不到

遞歸版

const size = 4;
  const array = [];

  function create(num, finalNum, sub) {
    if(num == 1) {
      array.push('*')
      create(2, finalNum, false)
    } else if(num == finalNum) {
      array.push(new Array(finalNum).fill('*').join(''))
      sub && create(finalNum - 1, finalNum, sub)
    } else {
      array.push(new Array(num).fill('*').join(''))
      create(sub ? num - 1 : num + 1, finalNum, sub)
    }
  }

  create(size, size, true);
  array.forEach(function(value) {
    console.log(value)
  })
2018年4月9日 12:11
編輯回答
妖妖

那我精簡(jiǎn)一下,不知道是不是最少代碼量。

let a = console.log;
a(4444);
a(333);
a(22);
a(1);
a(22);
a(333);
a(4444);
2018年3月9日 06:17
編輯回答
孤酒

鏈?zhǔn)接腥舜鹆耍邑暙I(xiàn)一個(gè)函數(shù)式的吧

let f = n => (k => n > 1 ? (k(n), f(n - 1), k(n)) : k(n))(n => console.log((n + "").repeat(n)));

f(4);
2017年4月4日 16:50
編輯回答
尤禮

閑。。
首先根據(jù)num的初始化一個(gè)數(shù)組,長(zhǎng)度為num*2-1,填充0,不然沒(méi)法遍歷。然后初始化數(shù)組為4,3,2,1,2,3,4的形式,然后填充字符

(num=>new Array(num*2-1).fill(0).map((e,i)=>i<num?num-i:(i-num+2)).map(e=>"".padStart(e,e)).join("\n"))(4)
2018年3月7日 13:07
編輯回答
尐懶貓
console.log(4444);
console.log(333);
console.log(22);
console.log(1);
console.log(22);
console.log(333);
console.log(4444);
2017年3月22日 16:58
編輯回答
咕嚕嚕
const size = 4;
// 生成一個(gè)長(zhǎng)度為 size 的空數(shù)組
new Array(size)
    // 使用空字符填充
    .fill('')
    // 對(duì)數(shù)組進(jìn)行映射
    .map((i, index) =>
        // 這里是個(gè)閉包,參數(shù)為一個(gè)用 `size - index` 填充的長(zhǎng)度為 [size - index]的數(shù)組
        // 將數(shù)組打印出來(lái)并拋出
        (arr => {return console.log(arr), arr})
        (new Array(size - index).fill(size - index).join('')))
    // 此時(shí) arr = ['4444', '333', '22', '1']
    // 把 `1` 扔掉
    .filter(i => i.length !== 1)
    // 倒敘
    .reverse()    
    // 輸出
    .forEach(i => console.log(i))
2017年3月17日 07:50