Извините, немного нового в этом. Но я пытаюсь добиться следующего. У меня это (строка fullName
возвращается из webapp UI, используя selenium webdriverIO):
const fullName = "Mr Jason Biggs";
И нужно, чтобы это выглядело так:
title: 'Mr',
name: 'Jason',
surname: 'Biggs',
Я попытался разбить имя, но не уверен, как добавить ak в v
const splitName = fullName.split(" ");
// But returns as [ 'Mr', 'Jason', 'Biggs' ]
Просто создайте новый объект и назначьте его разделенные части на свои ключи:
const fullName = "Mr Jason Biggs";
const splitName = fullName.split(" "),
object = {
title: splitName[0],
name: splitName[1],
surname: splitName[2]
};
console.log(object);
Если у вас много строк, для выполнения которых нужно выполнить эту работу, просто оберните код в функцию getObject
которая берет строку и возвращает объект:
function getObject(str) {
const splitName = str.split(" ");
return {
title: splitName[0],
name: splitName[1],
surname: splitName[2]
};
}
const arrayOfStrings = ["Mr Jason Biggs", "Dr Stephen Strange", "Ms Lilly Depp"];
console.log(arrayOfStrings.map(getObject));
Если вы хотите получить фантазию и использовать новый синтаксис, вы также можете использовать назначение деструктуризации:
const fullName = "Mr Jason Biggs";
// Split and assign to named vars
const [title, name, surname] = fullName.split(' ');
// Create object from the new vars with the property value shorthand
const obj = {
title,
name,
surname
};
console.log(obj);
arr = ['Mr', 'Jason', 'Biggs']
.beautiful_name = { title: arr[0], name: arr[1], surname: arr[2] }
{ title:splitName[0], name:splitName[1], surname:splitName[3] }