JS如何将for循环的结果保存为数组?

Posted

技术标签:

【中文标题】JS如何将for循环的结果保存为数组?【英文标题】:JS How to save the result of a for loop as an array? 【发布时间】:2022-01-20 15:33:25 【问题描述】:
const cars = ['BMW', 'Volvo', 'Saab', 'Ford', 'Fiat', 'Audi'];
const arr = [];

for (let i = 0; i < cars.length; i++) 
  const i = 'hi';
  console.log(i);

这段代码的结果是:

hi
hi
hi
hi
hi
hi

如何将此结果作为数组保存到变量中? 返回值应为:['hi','hi','hi','hi','hi','hi']

【问题讨论】:

arr.push(i) 添加到循环中。 你为什么要在循环内声明i,与循环计数器同名?如果您需要循环内的循环计数器的值怎么办? (new Array(cars.length)).fill('hi') 【参考方案1】:
const cars = ['BMW', 'Volvo', 'Saab', 'Ford', 'Fiat', 'Audi'];
const arr = [];
const x = 'hi';

for (let i = 0; i < cars.length; i++) 
  arr.push(x);

【讨论】:

【参考方案2】:

你可以使用的最好的东西是map operator

const cars = ['BMW', 'Volvo', 'Saab', 'Ford', 'Fiat', 'Audi'];
const arr = cars.map(car => 'hi');

【讨论】:

还有[...cars].fill('hi')【参考方案3】:

另一个使用Array.from()的选项

const cars = ['BMW', 'Volvo', 'Saab', 'Ford', 'Fiat', 'Audi'];
const arr = Array.from(cars, _ => "hi");

const cars = ['BMW', 'Volvo', 'Saab', 'Ford', 'Fiat', 'Audi'];
const arr = Array.from(cars, _ => "hi");
console.log(arr);

【讨论】:

以上是关于JS如何将for循环的结果保存为数组?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 For 循环结果转换为数组,然后在 C# 中计算结果数组的整数?

js如何在表格风显示结果

JS如何遍历字符串

js怎么循环出变量,然后一个个储存到数组中?

如何将值添加到数组中而不将其在for循环外重置为0

在数组中存储for循环的结果