我想将项目列表转换为词典列表。请参阅下面的示例。
list_of_items = ['a','b','c','d']
desired_result = [{'name':'a'},{'name':'b'},{'name':'c'},{'name':'d'}]
我的尝试:
function myAttempt(list_of_items){
list_of_items.forEach(function (i) {
return {'name':i};
});
return list_of_items
};
myAttempt(list_of_items)
答案 0 :(得分:0)
您可以使用map()
方法返回对象数组。
var list_of_items = ['a','b','c','d']
var result = list_of_items.map(function(e) {
return {name: e}
})
console.log(result)

或者,如果您可以使用ES6箭头功能,您可以得到相同的结果。
var result = list_of_items.map(e => ({name: e}))
答案 1 :(得分:0)
如何做到这一点的方法之一。您可以将各种数组传递给函数,与key
相同。可能是name
或任何你喜欢的。
let list_of_items = ['a','b','c','d'],
result = [];
function myAttempt(arr, key){
arr.forEach(function(v){
let obj = {};
obj[key] = v;
result.push(obj);
});
console.log(result);
}
myAttempt(list_of_items, 'name');
答案 2 :(得分:0)
我不认为这个答案与@ Kinduser的答案重复,但它看起来更短:
var list_of_items = ['a','b','c','d'];
list_of_items.forEach(function(element, index, list) {
list[index] = {'name': element};
});
console.log(list_of_items);