小编the*_*der的帖子

如何在javascript中对这个对象数组进行分组或合并?

我有一个像下面这样的对象数组.

{name: "Mc Donald", quantity: 4, maleCount: 1, femaleCount: 0}
{name: "KFC", quantity: 9, maleCount: 1, femaleCount: 0}
{name: "KFC", quantity: 9, maleCount: 1, femaleCount: 0}
{name: "Mc Donald", quantity: 4, maleCount: 0, femaleCount: 1}
{name: "KFC", quantity: 9, maleCount: 0, femaleCount: 1}
{name: "KFC", quantity: 9, maleCount: 1, femaleCount: 0}
{name: "KFC", quantity: 9, maleCount: 0, femaleCount: 1}
{name: "KFC", quantity: 9, maleCount: 0, femaleCount: 1}
Run Code Online (Sandbox Code Playgroud)

我想将它们分组并将其中的所有值相加.例如,决赛将是这样的:

{name: "Mc Donald", quantity: 8, maleCount: 1, femaleCount: 1}
{name: "KFC", quantity: …
Run Code Online (Sandbox Code Playgroud)

javascript arrays grouping javascript-objects

13
推荐指数
3
解决办法
1841
查看次数

如何检测用户何时滚动到RecyclerView中的最顶层项目

我尝试编写以下代码

@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
  super.onScrolled(recyclerView, dx, dy);
  if(dy > 0){
    //scrolling up
  } else {
    //scrolling down
    int pastVisibleItems = linearLayoutManager.findFirstVisibleItemPosition();
    if (pastVisibleItems  == 0) {
      Toast.makeText(getContext(),"Top most item",Toast.LENGTH_SHORT).show();
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我也尝试使用android的SwipeRefreshLayout来做这个,因为它做了我想要的,它能够检测用户何时滚动到最顶层的项目.我决定不使用它,因为我似乎无法阻止加载指示器弹出(我不想看到加载指示器出来).

所以,基本上我想做的是:

  1. 检查用户滚动
  2. 它已经是最顶级的项目了吗?
  3. 如果是的话,执行一些事情,如果没有则执行任务

知道怎么做到这一点?

谢谢.

android scroll android-recyclerview

7
推荐指数
2
解决办法
7116
查看次数

Node.js - Firebase Cloud Functions 批量写入不起作用

我正在尝试从 fixer.io(以 JSON 格式)获取货币汇率,并使用 firebase 云功能将其存储到 firestore 中。如果我没有提交批处理,代码效果很好,它能够将结果显示到控制台中。但是,当我提交批处理时,我的 firestore 中没有创建任何内容,控制台中也没有显示错误日志,除了执行的通常功能,完成状态为“ok”

以下是我的 Cloud Functions 代码。我也在请求方法中包含了一个 API 密钥,请随意使用它,因为我仅将其用于测试目的

const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp(functions.config().firebase);

const firestore = functions.firestore;
const db = admin.firestore();

const FieldValue = require('firebase-admin').firestore.FieldValue;

const request = require('request');

exports.testCurrency = firestore
        .document('trigger/{docId}')
        .onUpdate((change, context) => {
            return request('http://data.fixer.io/api/latest?access_key=aeb14ea1a7db3bbf08edc96a41bd4be1', (error, response, body) => {
                if(error){
                    return console.log('error:', error);
                }

                body = JSON.parse(body);
                console.log('response: ', response.statusCode);

                var batch = db.batch();

                Object.keys(body["rates"]).forEach((key, index) => {
                                console.log(key,body["rates"][key]);
                                // key: the name …
Run Code Online (Sandbox Code Playgroud)

node.js firebase google-cloud-functions google-cloud-firestore

3
推荐指数
1
解决办法
1255
查看次数

如何在 Android Studio 中将“运行项目”工具栏更改为默认值

我的鼠标突然发疯并移动了Android Studio中的“运行项目”工具栏,我尝试在Google中搜索但找不到任何答案。我在 Windows 选项卡中尝试了“恢复默认布局”,但它没有恢复它。屏幕截图就在这里

在此处输入图片说明

android-studio android-toolbar

2
推荐指数
1
解决办法
656
查看次数

如何在Firebase的Cloud Firestore中执行查询

我在这里关注如何编写查询的文档,但我没有从中获取任何数据.数据库已填充doc提供的示例

以下是我的代码

var db = firebase.firestore();

var citiesRef = db.collection("cities");
var query = citiesRef.where("state", "==", "CA");

query.get().then(function(doc) {
if (doc.exists) {
    console.log("Document data:", doc.data());
} else {
    console.log("No such document!");
}
}).catch(function(error) {
    console.log("Error getting document:", error);
});
Run Code Online (Sandbox Code Playgroud)

如果我没有对它提出任何疑问,它的工作正常.例如(也来自doc):

var docRef = db.collection("cities").doc("SF");

docRef.get().then(function(doc) {
    if (doc.exists) {
        console.log("Document data:", doc.data());
    } else {
        console.log("No such document!");
    }
}).catch(function(error) {
    console.log("Error getting document:", error);
});
Run Code Online (Sandbox Code Playgroud)

nosql firebase google-cloud-firestore

1
推荐指数
1
解决办法
3102
查看次数

设置 gRPC 服务器的端口

据我了解,gRPC的协议是TCP之上的http2。因此,可以分配的最大端口是65535,对吗?但如果我将服务器地址设置为超出范围的“0.0.0.0:70040”,它仍然可以正常工作,并且 gRPC 客户端能够与 gRPC 服务器连接并通信。我可以知道这实际上意味着什么吗?谢谢。

builder.AddListeningPort("0.0.0.0:70040", grpc::InsecureServerCredentials());
Run Code Online (Sandbox Code Playgroud)

tcp http http2 grpc

1
推荐指数
1
解决办法
1万
查看次数