Как преобразовать массив строк:
var names = [
"Bob",
"Michael",
"Lanny"
];
в такой объект?
var names = [
{name:"Bob"},
{name:"Michael"},
{name:"Lanny"}
];
Вы можете перебрать массив и присвоить новые значения таким элементам, как names[i] = {name: names[i]}.
@PeterB Спасибо, что нашли дубликат. Добавляем в "список" :)
@ Фил, не я, я только что поддержал обман Питера Б.
@ Фил правильно, "Saab" нет, извини, я исправил



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Супер простая работа Array.prototype.map()
names.map(name => ({ name }))
То есть ... сопоставить каждую запись (name) с объектом с ключом «имя» и значением name.
var names = [
"Bob",
"Michael",
"Lanny"
];
console.info(names.map(name => ({ name })))Глупый я, я забыл самую важную часть
names.map(name => name === 'Bob' ? 'Saab' : name)
.map(name => ({ name }))
Ха-ха, спасибо, Фил :) Это "Saab" было орфографической ошибкой, но мне понравилось, что вы рассказали об этом, и дали ответ на это тоже.
Ты тоже можешь это сделать:
var names = [
"Bob",
"Michael",
"Lanny"
];
var objNames = []
names.forEach(name => {
objNames.push({
name
})
})
Используя ES6, вы можете установить name, он равен name: name
вы можете использовать функцию карты. В общем случае list.map (f) создаст новый список, в котором каждый элемент в позиции i является результатом применения f к элементу в той же позиции в исходном списке. Например:
names.map(function(s) {
return {name: s}
});
Используйте функцию Array.map (), чтобы сопоставить массив с объектами. Функция map () выполнит итерацию по массиву и вернет новый массив, содержащий результат выполнения функции для каждого элемента в исходном массиве. Например:
names = names.map(function(ele){return {"name":ele}});
Откуда появился «Сааб»?