gpt4 book ai didi

javascript - 将字符串数组转换为对象数组的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-30 09:46:31 25 4
gpt4 key购买 nike

假设我有一组电子邮件:

['a@gmail.com', 'b@gmail.com', 'c@gmail.com']

我需要将它转换成如下所示的对象数组:

[
{
id: 'a@gmail.com',
invite_type: 'EMAIL'
},
{
id: 'b@gmail.com',
invite_type: 'EMAIL'
},
{
id: 'c@gmail.com',
invite_type: 'EMAIL'
}
]

为此,我编写了以下代码:

$scope.invites = [];

$.each($scope.members, function (index, value) {
let inviteMember = {
'id': value,
invite_type: 'EMAIL'
}

$scope.invites.push(inviteMember);
});

有更好的方法吗?

最佳答案

因为您已经在使用 jQuery,所以您可以使用 jQuery.map()像这样:

var originalArray = ['a@gmail.com', 'b@gmail.com', 'c@gmail.com']

var newArray = jQuery.map(originalArray, function(email) {
return {
id: email,
invite_type:'EMAIL'
};
});

jQuery.map() 将给定数组中的所有项目转换为新的项目数组。我传递给 jQuery.map() 的函数为原始数组的每个元素调用并返回一个写入最终数组的新元素。

还有原生Array.prototype.map()这是not supported in IE8 .如果您的目标不是 IE8 或者您使用了 polyfill,那么您可以使用原生的 .map():

var newArray = originalArray.map(function(email) {
return {
id: email,
invite_type:'EMAIL'
};
});

关于javascript - 将字符串数组转换为对象数组的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38739136/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com