您好,感谢您对此的见解。
概述
我正在寻找有关如何使用 JavaScript 和 Zapier 应用程序的代码从数组中输出多个对象的建议。到目前为止,我已经能够使用该.split()方法从数组的字符串中提取数据并使用映射数据输出单个对象,但是我无法创建多个对象并将它们作为新数组输出。
编码
// My inputData looks like this:
inputData = INFO [ 'Name1', 'Surname1', 'xxxx@gmail.com', 'phone1', 'Name2', 'Surname2', 'yyyy@gmail.com', 'phone2', 'Name3', 'Surname3', 'zzzz@gmail.com', 'phone3' ]
const participants = inputData.records.split(',')
let i = 0
// Look for every fourth item in the array starting at 0, which represents the participant's First Name
const getName = function(participants, i) {
for ( i ; i < participants.length; i+=4 ) {
let name = participants[i]
return name
}
};
// Look for every fourth item in the array starting at 1, which represents the participant's Last Name
const getSurname = function(participants, i) {
for ( let i = 1; i < participants.length; i+=4 ) {
let surname = participants[i]
return surname
}
};
// Look for every fourth item in the array starting from 2, which represents the participant's Email Address
const getEmail = function(participants, i) {
for ( let i = 2; i < participants.length; i+=4 ) {
let email = participants[i]
return email
}
};
// Output an object inside an array with the key/value pairs as follows
output = {participants: [
{
first_name: getName(participants, i),
last_name: getSurname(participants, i),
email: getEmail(participants, i)
}
]};
示例输出:
participants:
1:
first_name: Name1
last_name: Surname1
email: xxxx@gmail.com
如果我记录输出,它会正确显示一个对象已创建:
{first_name: 'Name1', last_name: 'Surname1', email: 'xxxx@gmail.com'}
我的挣扎
我正在努力寻找一种方法来迭代 inputData 并提供如下记录:
participants:
1:
first_name: Name1
last_name: Surname1
email: xxxx@gmail.com
2:
first_name: Name2
last_name: Surname2
email: yyyy@gmail.com
3:
first_name: Name3
last_name: Surname3
email: zzzz@gmail.com
当我console.log()每个函数的输出时,我从for循环中获取每条记录。为什么它不为每个输出记录呢?