繁体   English   中英

Zapier 编写的代码循环遍历一组对象,为每个对象提取一个值,然后对这些值求平均值

[英]Code by Zapier to loop through an array of objects, pulling out one value per object and then average those values

将 JavaScript 用于 Zapier,我试图从对象数组计算属性的平均值。

这是其中一个对象...

{
    "code": 0,
    "data": [
        {
            "id": "28737",
            "owner": "1",
            "date": "1581945706",
            "dla": "0",
            "dlm": "1582551517",
            "system_source": "3",
            "source_location": null,
            "ip_addy": null,
            "ip_addy_display": null,
            "import_id": "0",
            "contact_cat": "*/*",
            "bulk_mail": "1",
            "bulk_sms": "0",
            "bindex": "76",
            "f1849": "9898983",
            "f1850": "Foundation Course 2: Lecture 1 QUIZ",
            "f1851": "0",
            "f1853": "John Doe",
            "f1854": "TRUE",
            "f1855": "93",    // <= calculate average for this property
            "f1859": "292",
            "f1862": "0",
            "f1867": "Kajabi",
            "f1868": "0",
            "unique_id": "7WB77PT"
        },
        ...
    ]
}

我需要为每个对象f1855名为f1855的属性的值,然后计算平均值并通过 POST 返回该值。

我不认为用 JavaScript 很难做到这一点,但我不习惯 Zapier 的规则和限制。

任何帮助表示赞赏!

**看到您帖子的编辑版本,我现在不确定您的输入数据是示例中的data数组还是这些对象的数组。 如果是第二个,那么我不知道您是否想要每个对象的data道具的平均值。 或者是其他东西。 但在任何一种情况下,下面的代码都可以成为解决方案的一部分。


我对 Zapier 一无所知,但 JavaScript 部分可能如下所示:

const inputData = //your array of objects
const reducer = (sum, theObject) => sum + parseFloat(theObject.f1855)
const sumF1855 = inputData.reduce(reducer, 0)
const avgF1855 = sumF1855 / inputData.length

此代码不处理错误条件(例如,如果某个对象缺少 f1855 属性,或者如果 inputData 为空,则除以零)。 希望它能给你一个开始的想法。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM