我正在尝试在Apple的Contacts.app中获取所选卡的所有电子邮件地址。无论哪种语言,我都可以将所选卡放入变量selPerson中。但是然后...
在AppleScript中,这有效:
<select class="js_select">
<option value="">-- Select a Value --</option>
<option value="0">test</option>
</select>
<br>
<select class="js_select">
<option value="">-- Select a Value --</option>
<option value="0">test</option>
</select>
<br>
<select class="js_select">
<option value="">-- Select a Value --</option>
<option value="0">test</option>
</select>
result是记录列表(每个存储的电子邮件地址一个),具有多个属性,例如id,label(如应用程序中所示)和value(实际地址)。很简单。
但是如何在JavaScript中获得相同的结果?
get the properties of every email of selPerson
返回一组电子邮件“引用”和
selPerson.emails()
给我一个对象,该对象具有数组中第一个对象的属性。但是我不知道该怎么做,就是将所有这些结合起来以产生所有电子邮件对象的数组,即每个电子邮件地址一个。
我最终使用array.map()将其合并,但这只是迭代电子邮件引用的第一个数组。并创建完整对象的第二个数组,但是必须有一种更好的方法。似乎有一种情况在AppleScript中要容易得多,尽管AS的其他功能不足意味着使用JS是更好的选择。无论如何,我想更多地了解JXA。
答案 0 :(得分:0)
也许是这样的:
const
person = matches.at(0),
emails = person.emails;
return Array.from({
length: emails.length
}, (_, i) => emails.at(i).properties());