使用 Lodash 从字符串数组创建对象数组

Create an Array of Object from an Array of Strings with Lodash

我有以下数组;

["Test1", "Test2", "Test3"]

我希望它是这样的;

[{ id: 0, name: "Test1" }, { id: 1, name: "Test2" }, { id: 2, name: "Test3" }]

有帮助吗? 我想我应该以某种方式使用 _.object() 来完成这个任务。

当您使用 angular 时,这应该很简单。

var newArray = [];
angular.forEach(myArray,function(item, key){
    newArray.push({id:key, name:item});
});

以下解决方案不需要 angular,仅基于 lodash:

var newArray = [];

_.forEach(["Test1", "Test2", "Test3"], function (item, key) {
    newArray.push({
        id: key,
        name: item
    });
});

map()函数是你的朋友:

_.map(array, function(item, index) {
    return { id: index, name: item };
});