如何使用地图功能创建对象?

时间:2019-01-18 14:07:26

标签: javascript arrays reactjs react-native

我想为我的应用程序的下拉列表创建一个数组以选择年龄。但是,我不想键入10到80之间的所有年龄段。我可以使用for循环和push方法创建一个数组,但无法为下拉列表创建格式。

您可以在下面找到以下数组格式。

const ageData = [{ value: 10 }, { value: 11 }, { value: 12 }];

3 个答案:

答案 0 :(得分:1)

根据要求使用map()

const ageData = [...Array(71)].map((x, i) => ({value: i + 10}));
console.log(ageData);

首先,创建一个长度为71的数组。解构数组,得到[undefined, undefined, ..., undefined]。然后,使用map()遍历数组并返回索引加10。

答案 1 :(得分:1)

您可以使用Array.from()

const ageData = Array.from(
    {length: 71}, (_, i) => ({value: i + 10})
);

console.log(ageData);
.as-console-wrapper { max-height: 100% !important; top: 0; }

答案 2 :(得分:0)

const ageData = new Array(70).fill(1).map((_, index) => ({ value: index + 10 }))

您还可以创建一个帮助程序,以更通用的方式生成该类型的数据

function generateAgeData (from, to) {
  return new Array(to - from).fill(1).map((_, index) => ({
    value: from + index
  }));
}