【发布时间】:2020-09-03 21:19:53
【问题描述】:
我知道标题听起来多余,但也许更具体的解释会有所帮助。我正在从 fetch 请求中检索项目,并将其作为对象数组返回。我创建了一个函数,将请求的数据存储到我映射的 const 变量中,并从每个数组项返回 item.date_created 值。然后我的问题是如何获取每个 date_created 值并将它们存储在另一个传递给 state 的数组中。
当尝试将每个值存储在一个数组中时,它会为每个项目创建一个数组,而不是只创建一个包含所有值的数组。我知道 .map 函数的目的是单独隔离和返回每个值,因此我的问题是如何将它们传递给一个特定的数组而不是单独的数组。如果这是完全错误的方法,请提供一种方法来完成此操作。
返回值:
entries: Array(10)
0: {4: "X", 5: "X", 6: "X", 7: "X", 8: "X", 9: "X", id: "X", form_id: "X",
post_id: null, date_created: "2020-08-01 01:28:59", date_updated: "2020-08-10 01:28:59", …}
1: {4: "X", 5: "X", 6: "X", 7: "X", 8: "X", 9: "X", id: "X", form_id: "X",
post_id: null, date_created: "2020-08-10 02:56:03", date_updated: "2019-11-08 02:56:03", …}
我的代码结构如下:
fetchStartSubmissions = () => {
const fetchStart = moment(this.state.startDate).format('yyyy-MM-DD');
const resData = this.state.formEntries.entries;
resData.map(item => {
if (item.date_created = fetchStart) {
var items = [item.date_created];
console.log(items);
this.setState({
startItems: [items],
});
}
})
}
输出:
["2020-08-01"]
["2020-08-10"]
【问题讨论】:
-
.map返回一个新数组。所以你做const newArray = [{ date_created: "2020-08-01" }, {date_created: "2020-08-10"}].map(x => { return x.date_created; });
标签: javascript arrays object