javascript - 作为两个单独的数组推送并合并为一个
问题描述
我正在遍历一组对象并选择一些特定的对象,然后将它们推送到一个新数组。但是,当我尝试打印该新数组时,它会打印我选择的多个对象数组!我应该如何以某种方式将这些多个数组合并为一个数组并将它们作为一个对象数组打印出来?
这是我的代码:
async getRestaurants() {
if (this.state.city !== '') {
firebase.firestore().collection('restaurants').get().then(querySnapshot => {
const data = querySnapshot.docs.map(doc => doc.data());
for (i = 0; i < data.length; i++) {
if (data[i].rest_location == this.state.city) {
var newArr = [];
newArr.push(data[i]);
console.log("Selected city data:", newArr)
}
}
})
}
}
这是它打印出来的内容:
▶︎ 'Selected city data:', [ { rest_location: 'Gjakove',
│ rest_phone: 123456789,
│ rest_name: 'Jeta',
└ res_id: 'jeta1' } ]
▶︎ 'Selected city data:', [ { rest_location: 'Gjakove',
│ rest_phone: 12345678,
│ rest_name: 'Potoku',
└ res_id: 'Potoku1' } ]
如您所见,有两个不同的数组一一打印。为什么会发生这种情况以及该怎么办?
解决方案
推荐阅读
- docker - 使用 Dockerfile 构建映像时如何在主机上指定要映射到的端口
- .net - 如何更改 Microsoft Visual Studio 安装程序项目本地化
- quasar-framework - 如何从 quasar 默认应用模板中删除路由器?
- ios - react-native:如何扫描同一应用程序中 webview/网页内的 QR 码?
- reactjs - SVG Next Error 您可能需要适当的加载器来处理此文件类型,目前没有配置加载器来处理此文件
- javascript - 如何在Angular js中尽快解决promise调用
- python-requests - PostgREST 不返回错误 JSON 值的错误(Python 请求)
- angular - 在 Angular 中动态添加客户端的角色
- python - `produce()` 在异步 kafka 实现中只调用一次?
- javascript - select2 clear 选项显示不正确