ES6:mailchimp api的对象重构
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ES6:mailchimp api的对象重构相关的知识,希望对你有一定的参考价值。
我想构建一个基于数组和另一个对象的对象。
目标是发送给mailchimp api我的用户兴趣,为此,我有:
//Array of skills for one user
const skillsUser1 = ["SKILL1", "SKILL3"]
//List of all my skills match to mailchimp interest group
const skillsMailchimpId = {
'SKILL1': 'list_id_1',
'SKILL2': 'list_id_2',
'SKILL3': 'list_id_3',
}
//Mapping of user skill to all skills
const outputSkills = skillsUser1.map((skill) => skillsMailchimpId[skill]);
console.log(outputSkills);
问题出在后面,outputSkill给我一个数组:
["ID1", "ID3"]
但是什么mailchimp api need,所以我需要的是:
{ "list_id_1": true,
"list_id_2": false, //or empty
"list_id_3" : true
}
答案
一个简单的方法是这样(请参阅代码中的注释以获得解释):
// Array of skills for one user
const skillsUser1 = ["SKILL1", "SKILL3"]
// List of all my skills match to mailchimp interest group
const skillsMailchimpId = {
'SKILL1': 'list_id_1',
'SKILL2': 'list_id_2',
'SKILL3': 'list_id_3',
}
// Create an output object
const outputSkills = {};
// Use `Object.entries` to transform `skillsMailchimpId` to array
Object.entries(skillsMailchimpId)
// Use `.forEach` to add properties to `outputSkills`
.forEach(keyValuePair => {
const [key, val] = keyValuePair;
outputSkills[val] = skillsUser1.includes(key);
});
console.log(outputSkills);
以上是关于ES6:mailchimp api的对象重构的主要内容,如果未能解决你的问题,请参考以下文章
Mailchimp api 3.0 错误:“架构描述了对象,而是找到了数组”是代码还是在 mailchimp 的末尾?