[英]Loop through array to find all objects with matching ids, and merge those objects into one element in the array.
[英]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.