【问题标题】:Turning object into array, and the multiply it by object value将对象转换为数组,并将其乘以对象值
【发布时间】:2021-07-23 06:30:31
【问题描述】:

我有一个对象items = {a:"arr", b:"brr", c: "3"}。 我想把它变成一个数组,但是乘以c。 所以如果items = {a:"arr", b:"brr", c: "3"}我想得到:

["arr brr","arr brr","arr brr"].

【问题讨论】:

    标签: javascript arrays object


    【解决方案1】:

    可以使用Array.from()生成一个数组,其值为c的长度:

    const items = {a:"arr", b:"brr", c: "3" }
    
    const result = Array.from(
      { length: +items.c }, 
      () => `${items.a} ${items.b}`
    )
    
    console.log(result)

    使用Array.flatMap()Array.from() 来处理对象数组:

    const items = [{a:"arr", b:"brr", c: "3" },{a:"ann", b:"bnn", c: "1" }]
    
    const result = items.flatMap(obj => Array.from(
      { length: +obj.c }, 
      () => `${obj.a} ${obj.b}`
    ))
    
    console.log(result)

    【讨论】:

    • 如果我有对象数组? [{a:"arr", b:"brr", c:"3" },{a:"ann", b:"bnn", c:"1" }] 所以我得到 ["arr brr", "arr brr","arr brr","ann, bnn"]
    【解决方案2】:

    使用Array构造函数和fill()方法,一行代码就可以实现:

    const items = {a:"arr", b:"brr", c: "3"}
    const arr = new Array(+items.c).fill(`${items.a} ${items.b}`)
    
    console.log(arr)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-07-29
      • 1970-01-01
      • 1970-01-01
      • 2019-04-26
      • 1970-01-01
      • 2020-06-15
      • 2016-03-11
      相关资源
      最近更新 更多