如何将相同元素添加到javascript数组n次

时间:2018-08-13 23:55:08

标签: javascript

var fruits = [];
fruits.push("lemon", "lemon", "lemon", "lemon");

与其推送相同的元素,不如这样写一次:

fruits.push("lemon" * 4 times)

4 个答案:

答案 0 :(得分:20)

对于基元,请使用.fill

var fruits = new Array(4).fill('Lemon');
console.log(fruits);

对于非基本元素,请不要使用fill,因为数组中的所有元素都将引用内存中的同一对象,因此对数组中一项的更改会影响数组中的每一项-而是,则可以在每次迭代中显式创建对象,可以使用Array.from

var fruits = Array.from(
  { length: 4 },
  () => ({ Lemon: 'Lemon' })
);
console.log(fruits);

答案 1 :(得分:4)

尝试使用Array构造函数:

let myArray = new Array(times).fill(elemnt)

在此处Array

查看更多

答案 2 :(得分:1)

  

You shouldn't use the array constructor, 改用[]

const myArray = [];   // declare array

myArray.length = 5; // set array size
myArray.fill('foo'); // fill array with any value

console.log(myArray); // log it to the console

答案 3 :(得分:0)

   const item = 'lemon'
   const arr = Array.from({length: 10}, () => item)

const item = 'lemon'
const arr = Array.from({length: 10}, () => item)
console.log('arr', arr)