我正在尝试将数组数组转换为对象数组。最简单的方法是什么?
myArray = [1,2,3];
myObject = convertToObjects(myArray);
convertToObjects= (items) => {
let listOfItems = [];
let convertToObj = items.map(item, idx => {
let key = item;
listOfItems.push({ key });
});
return listOfItems;
}
谢谢!
预期产出:
[
{key: 1},
{key: 2},
{key: 3}]
答案 0 :(得分:1)
您可以映射对象。
var myArray = [1, 2, 3],
convertToObjects = items => items.map(key => ({ key })),
myObject = convertToObjects(myArray);
console.log(myObject);

答案 1 :(得分:1)
map
函数的参数为callback
函数。
map
为一个元素中的每个元素调用一次提供的回调函数 数组,按顺序,并从结果中构造一个新数组。
详细了解map method.
试试这个:
myArray = [1,2,3];
myObject = convertToObjects(myArray);
function convertToObjects(items){
let listOfItems = [];
let convertToObj = items.map(function(item) {
let key = item;
listOfItems.push({ key });
});
return listOfItems;
}
console.log(myObject);
答案 2 :(得分:1)
@qxz在评论中提供了答案
myArray.map(x => ({key:x}))
这是一个简短的解释。
map()
是数组的函数。它为每个元素调用一个提供的回调函数,然后返回一个结果数组。 See the documentation for map()
map()
返回一个数组,而不是在适当的位置修改它,因此您需要捕获结果。
var myArray = [1, 2, 3],
var convertedArr = myArray.map( function(item) {
return {"key": item};
});
console.log(convertedArr);