将对象转换为数组,并将其乘以对象值

时间:2021-04-29 20:59:57

标签: javascript arrays object

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

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

2 个答案:

答案 0 :(得分:3)

您可以使用 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)

答案 1 :(得分:0)

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

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

console.log(arr)